Bash
程序在執行時是否使用 .bashrc?
我在我的文件(Ubuntu v12)中附加到我的
PATH
環境變數。.bashrc
我還有一項服務(Atlassian Bamboo),它依賴於對PATH
. 當我重新啟動服務時(它以我的本地使用者身份執行.bashrc
),它是否會“獲取”.bashrc
文件以更新環境變數以使其擁有它們?還是我需要重啟機器?
除非手動請求,否則非互動式 shell 不會提供原始碼
.bashrc
,此外,服務可能不會呼叫 shell(除非它具有某種包裝腳本)。如何進行取決於您要達到的目標。服務通常有自己的配置文件來修改它們的行為,也可以專門為每個服務指定環境(我不是 Ubuntu 使用者,所以我不確定這在你的系統上是如何工作的——它是新貴,對吧?) . 您還可以修改
.profile
登錄時載入的變數 - 在此文件中導出的變數可供所有子項訪問。如果該服務實際上是由 init 系統全域執行的(通過只是切換到您的使用者名的 root),這也不起作用。/etc/environment
可能有效,但我不建議這樣做,它很難看。在您的情況下,唯一真正乾淨的方法是為您的服務設置環境。