我想知道是否可以根据 systemd 单元文件(特别是服务文件)内的条件设置环境变量值。
前任:
Environment=if (condition) { SOME_VAR=1} else { SOME_VAR=2}
ExecStart=/some/file $SOME_VAR
我已经通过 bash 尝试过,如下所示:
Environment=/bin/bash -c "if [[condition]]; then SOME_VAR=1; else SOME_VAR=2; fi"
但这行不通。
所以我不知道该怎么做。
答案1
如果什么...
ExecStartPre=/bin/bash -c "if [[condition]]; then export SOME_VAR=1; else export SOME_VAR=2; fi"
ExecStart=/some/file $SOME_VAR
我不确定,这真的有效,只是愚蠢的猜测