Linux
在 .bashrc 中設置環境變數的最佳方法是什麼?
在 中設置變數時
.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 的生命週期內持續存在。