如何编写包含=的systemd环境变量值

时间:2017-04-07 13:02:16

标签: linux systemd

在systemd单元文件中,我有一个内容为key=IamValue=abc的环境,因为您可以看到包含IamValue=abc的值为=

对于这种情况,我该如何编写单元文件?

我试过以下,但似乎无效:

[Unit]
Description=...

[Service]
WorkingDirectory=...
ExecStart=...
Restart=always
RestartSec=10                                          
SyslogIdentifier=...
User=root
Environment=key="IamValue=abc"

2 个答案:

答案 0 :(得分:4)

我测试过这可以在test.service文件中使用:

[Unit]
Description=Hi

[Service]
Type=oneshot
Environment=key="IamValue=abc"
ExecStart=/bin/bash -c "/bin/echo key:$key"

如果您运行该操作然后执行journalctl -u test,则可以看到包含等号的密钥有效。

我建议update to the official systemd docs更好地澄清此案例。

答案 1 :(得分:1)

或者在单位文件中使用EnvironmentFile,配置行:

EnvironmentFile=-/etc/sysconfig/test

内容为/etc/sysconfig/test

key="IamValue=abc"