Linux export 命令用於設置或顯示環境變量。
在 shell 中執行程序時,shell 會提供一組環境變量。export 可新增,修改或刪除環境變量,供后續執行的程序使用。
export 命令的作用域:當前終端中直接輸入的 export 的變量僅當前shell終端及其子shell可見,另起一個終端將無法訪問。
舉例:
終端 A 中先執行:
export WORD="hello"
echo $WORD # 可以看到輸出 hello
env | grep WORD # 可以看到有WORD變量
sh -c "echo $WORD" # 子shell中執行,同樣可以看到輸出了 hello
然后另起一個新的終端 B,在 B 中執行:
echo $WORD # 輸出為空
env | grep WORD # 沒有顯示WORD變量
可以看到,A 中 export 的變量只能在 A 及其子shell中可見,在新的終端 B 中是無效的。
關於什么命令是在當前shell執行,什么命令會導致另起子shell執行,請看這篇:Linux 執行腳本時 source 和 . 和 sh 和 ./ 的區別
因此,通常在 ~/.bashrc 或者 /etc/profile 中使用 export 命令配置全局的環境變量,然后source,這樣在所有終端都可見了。