systemd:设置PATH的“Environment”指令

systemd单元文件中设置PATHvariables的正确方法是什么? 看到一些例子后,我试图使用下面的格式,但variables似乎并没有扩大。

 Environment="PATH=/local/bin:$PATH" 

我正在CoreD上用systemd的下面的版本来试试这个。

 systemd 225 -PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT -GNUTLS -ACL +XZ -LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD -IDN 

Solutions Collecting From Web of "systemd:设置PATH的“Environment”指令"

您不能在Environment指令中使用EnvVars 。 整个Environment=将被忽略。 如果使用EnvironmentFile= ,那么指定的文件将被加载而不用替换。 所以PATH=/local/bin:$PATH就是这样,这可能不是你想要的。

在CentOS7下面的作品。

 # /etc/systemd/system/nagios.service.d/env.conf [Service] Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" > sudo systemctl daemon-reload > sudo systemctl restart nagios > sudo cat /proc/28647/environ ... PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ... 

您可以使用units部分中的EnvironmentFile=指令来设置环境变量。

只要把变量作为key=value对,它将工作。

运行时只是'source'指定的任何文件。

您可以使用write_files指令创建文件。