根据文件

时间:2015-12-22 09:26:22

标签: systemd

是否可以根据文件内容以systemd为单位设置env变量。像ENV =`cat somefile`这样的东西?

我需要根据somefile的内容设置可执行文件的路径。我没有找到关于systemd中的变量的任何信息,exept env变量所以我尝试使用它们,但没有运气

我试过使用Environment ='ENV =`cat somefile`'但没有运气。它只是将变量的值设置为`cat somefile`。我尝试使用cat/bin/cat,但结果是一样的。

1 个答案:

答案 0 :(得分:-1)

完全出于此目的有一个特殊指令:EnvironmentFile。您应该将其放入[Service]部分,如下所示:

[Service]
EnvironmentFile=/etc/default/somefile

如果文件不在那里,服务将无法启动,所以为了能够在文件存在的情况下启动它,您可以在文件名前添加前导 - 符号,像:

[Service]
EnvironmentFile=-/etc/default/somefile

请注意,尽管此文件看起来像shell script但它并非变量声明的行为略有不同,特别是,您无法在变量声明中引用其他变量。

请阅读EnvironmentFileEnvironment选项说明,了解更多详情。 Command lines也可能有帮助。