Rhel

如何在 Amazon Linux 2 中永久設置環境變數

  • September 10, 2019

我嘗試了許多方法來設置執行 Amazon Linux 2 的永久環境變數 EC2 實例,但沒有一種方法在使用者和登錄會話之間是持久的。

什麼特定的語法和過程將成功設置環境變數,以便所有使用者和每個會話期間都可以使用變數的值?

到目前為止,我嘗試過的方法包括在 USERDATA 的實例啟動腳本期間分別在以下三個文件中的每個文件中設置值:

/etc/csh.cshrc
/etc/environment
/etc/profile

我一次嘗試每個文件,而不是同時嘗試所有三個。

我也嘗試過使用 Python os.environ,但這也不起作用。


使用者建議


根據@NasirRiley 的建議,當我創建一個setVars.sh文件並將其放入/etc/profile.d實例的USERDATA啟動序列時,它現在可以工作:

#!/bin/bash    
export SOME_VAR_NAME=some-var-value  

最好通過在/etc/profile.d.

您想使用您的 shell 名稱的副檔名來創建它。例如,如果它是bash,它將被呼叫script.sh

/etc/profile.d/script.sh

裡面的語法是:

export SOME_VAR_NAME=some-var-value

您將需要啟動一個新的 shell 會話以將變數添加到您的環境中,您可以通過註銷並重新登錄來執行此操作。當其他使用者執行相同操作或下次登錄時,它將為其他使用者的環境添加,如果他們目前未登錄。

請注意:您實際上並不需要 shebang 行,因為它是根據您的 shell 提供的。我有時把它放在自己身上,因為它只是一種習慣的力量,但它不會傷害或影響任何事情。如果你願意,你可以把它排除在外。

引用自:https://unix.stackexchange.com/questions/525036