快速指南介紹了“export”指令,該指令用於將變量導出到子進程中

“export”指令用於將變量導出到子進程中。

這意味著什麼呢?

假設您以以下方式定義了一個名為TEST的變量:

TEST="test"

您可以使用echo $TEST來打印其值:

但是,如果您嘗試在名為script.sh的文件中定義一個包含上述命令的Bash腳本:

然後,您設置chmod u+x script.sh,並使用./script.sh執行此腳本,echo $TEST將不打印任何內容!

這是因為在Bash中,TEST 變量是在shell本地定義的。在執行shell腳本或其他命令時,將啟動一個子shell來執行它,該子shell不包含當前shell的本地變量。

為了使該變量在子shell中可用,我們需要使用以下方式定義TEST變量:

export TEST="test"

嘗試這樣做,現在運行./script.sh應該會打印出“test”:

有時您需要將內容附加到變量中。這在 PATH變量中經常使用。您可以使用以下語法:

export PATH=$PATH:/new/path

通常在以這種方式創建新變量時使用export,同樣地,當使用Bash在.bash_profile.bashrc配置文件中創建變量時,或者使用Zsh在.zshenv中創建變量時也要使用export

要刪除一個變量,可以使用 -n 選項:

export -n TEST

調用export而不帶任何選項將列出所有導出的變量。

export指令適用於Linux、macOS、WSL以及任何具有UNIX環境的地方。