使用--setenv时,systemd-run不设置环境变量

时间:2016-03-06 19:55:07

标签: linux systemd

根据systemd-run文档,-setenv选项可用于“使用指定的环境变量集运行服务进程”。

但是,似乎环境变量实际上不可用于该过程:

# systemd-run -t --setenv=TEST=Success echo TEST:$TEST
Running as unit run-20705.service.
Press ^] three times within 1s to disconnect TTY.
TEST:

我是否误解了--setenv选项的用法?运行systemd版本219。

1 个答案:

答案 0 :(得分:3)

您需要阻止bash在运行systemd命令之前解析$TEST

echo也无法解决环境变量。在systemd过程中需要Bash来解决TEST

所以你需要运行以下内容:

systemd-run -t --setenv=TEST=Success 'bash -c echo TEST:$TEST'