systemd-运行 使用 --setenv 时不设置环境变量
systemd-run does not set environment variables when using --setenv
根据 systemd-运行 文档,-setenv
选项可用于 "Run the service process with the specified environment variables set"。
但是,似乎环境变量实际上对进程不可用:
# 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
另外,echo 无法解析环境变量。 systemd 进程中需要 Bash 来解析 TEST
因此您需要运行以下内容:
systemd-run -t --setenv=TEST=Success 'bash -c echo TEST:$TEST'
根据 systemd-运行 文档,-setenv
选项可用于 "Run the service process with the specified environment variables set"。
但是,似乎环境变量实际上对进程不可用:
# 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
另外,echo 无法解析环境变量。 systemd 进程中需要 Bash 来解析 TEST
因此您需要运行以下内容:
systemd-run -t --setenv=TEST=Success 'bash -c echo TEST:$TEST'