2015-12-22 38 views
1

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

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

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

回答

0

有一个特别的指令正是为了这个目的:EnvironmentFile。你应该把它放到你的[Service]部分是这样的:

[Service] 
EnvironmentFile=/etc/default/somefile 

如果文件不存在的服务将无法启动,这样一来就能尽管该文件的存在,您可以添加导致启动它 -标志在文件名的前面,如:

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

要知道,虽然这个文件看起来像shell script它不是和变量声明的行为sligtly不同,尤其是,你不能引用其他变量变量的声明。

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

相关问题