2015-12-22 70 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也可以幫助。

相關問題