Linux

在 .bashrc 中設置環境變數的最佳方法是什麼?

  • August 9, 2016

在 中設置變數時.bashrc,我應該使用它嗎?

export VAR=value

或者這就足夠了?

VAR=value

到底有什麼區別(如果有的話)?

最好的方式

export VAR=value

區別

正在做

VAR=value

僅在腳本持續時間內設置變數(.bashrc在本例中)。腳本的子程序(如果有的話)不會定義 VAR,一旦腳本退出VAR就消失了。

export VAR=value

顯式添加VAR到傳遞給子程序的變數列表中。想試試嗎?打開一個shell,做

PS1="foo > "
bash --norc

新的 shell 獲得預設提示。相反,如果你做類似的事情

export PS1="foo > "
bash --norc

新的 shell 會得到你剛剛設置的提示。

**更新:**正如 Ian Kelling 所指出的,下面設置的變數.bashrc持續存在於 source 的 shell 中.bashrc。更一般地,每當 shell 獲取腳本(使用source scriptname命令)時,腳本中設置的變數會在 shell 的生命週期內持續存在。

引用自:https://serverfault.com/questions/606