根据 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。
您需要在运行 systemd 命令之前阻止 bash 解析$TEST
。
此外,回声无法解决环境变量。在systemd进程中需要bash来解决TEST
因此,您需要运行以下命令:
systemd-run -t --setenv=TEST=Success 'bash -c echo TEST:$TEST'