Environment-Variables
在啟動時啟動的 Slackware 腳本需要設置來自 /etc/profile.d/* 的環 境變數
嘿,我有這個問題,在啟動時從 rc.local 啟動的腳本在啟動時沒有設置環境變數(在 /etc/profile.d/* 中定義)。我該怎麼辦 ?
“su - lisak -c /opt/atlassian-jira-enterprise-4.1.1-standalone/bin/startup.sh”
“su - lisak -c /opt/aaa2/at-22/bin/startup.sh”
at 的腳本
/etc/profile.d/*
是在它們自己的 shell 中執行的,而不是從原始碼中執行的,因此它們設置的環境變數無論如何都不可用。您需要哪些變數?你可以利用/etc/environment
嗎?var=value
您可以將變數以適當腳本的格式寫入文件並在腳本中獲取該文件rc.local
嗎?這來自 Bash 手冊頁。您可能會發現它很有幫助。
當 bash 以非互動方式啟動時,例如執行一個 shell 腳本,它會在環境中查找變數 BASH_ENV,如果它出現,則擴展其值,並將擴展值用作要讀取和執行的文件名. Bash 的行為就像執行了以下命令:if
$$ -n “$BASH_ENV” $$; 然後 。"$BASH_ENV"; fi 但 PATH 變數的值不用於搜尋文件名。
Bourne shell 類似地使用該
ENV
變數。