1、命令簡介
export 命令為 Shell 內(nèi)建命令,用于設(shè)置或顯示環(huán)境變量,環(huán)境變量包含變量與函數(shù)。
在 Shell 中執(zhí)行程序時,Shell 會提供一組環(huán)境變量。export 可新增、刪除或修改環(huán)境變量,供后續(xù)被執(zhí)行的程序使用。export 的作用效果僅限于當(dāng)前登錄。
2、命令格式
3、選項說明
4、常用示例
(1)定義環(huán)境變量并賦值。
(2)修改指明 Shell 命令搜索路徑的環(huán)境變量 PATH。
查看是否已經(jīng)設(shè)置好,可以使用命令export -p命令來查看,也可以使用 echo 命令打印變量內(nèi)容。
(3)export 用于 Shell 腳本。
用戶登錄到 Linux 系統(tǒng)后,系統(tǒng)將啟動一個用戶 Shell。
在這個 Shell 中,可以使用 Shell 命令或聲明變量,也可以創(chuàng)建并運(yùn)行 Shell 腳本程序。
系統(tǒng)將創(chuàng)建一個子 Shell 進(jìn)程。此時,系統(tǒng)中將有兩個 Shell 進(jìn)程,一個是登錄時系統(tǒng)啟動的 Shell 進(jìn)程,另一個是系統(tǒng)為運(yùn)行腳本創(chuàng)建的 Shell 進(jìn)程。
當(dāng)一個腳本運(yùn)行完畢,它的腳本 Shell 進(jìn)程將終止,可以返回到執(zhí)行該腳本之前的 Shell。從這種意義上來 說,用戶可以有許多 Shell 進(jìn)程,每個 Shell 進(jìn)程都是由其父 Shell 進(jìn)程派生的。
如果在一個 Shell 腳本中定義了一個變量,該腳本運(yùn)行時,這個定義的變量只是該腳本內(nèi)的一個局部變量,子 Shell 無法引用它。
要使某個變量可以在子 Shell 中被引用,可以使用 export 命令對已定義的變量進(jìn)行導(dǎo)出,稱為導(dǎo)出變量。系統(tǒng)在創(chuàng)建每一個新的 Shell 時會拷貝導(dǎo)出變量,子 Shell 可以訪問或修改導(dǎo)出變量,但是這種修改父 Shell 看不到。
例如腳本 test1.sh 中調(diào)用腳本 test2.sh,test2.sh 中使用 test1.sh 定義的變量 shareVar。
test2.sh 定義如下:
執(zhí)行 test1.sh 輸出結(jié)果如下:
5、Linux 設(shè)置環(huán)境變量的三種方法
(1)使用 export 命令。
注意:直接使用 export 設(shè)置的變量都是臨時變量,也就是說退出當(dāng)前的 Shell 為該變量定義的值便不會生效了。我們可以使用如下兩種方式使變更永久有效。
(2)修改 /etc/bashrc 或 /etc/profile,加入如下行,對所有用戶永久生效。
注意:修改完這個文件必須要使用如下命令執(zhí)行配置文件的內(nèi)容,在不用重啟系統(tǒng)的情況下使修改的內(nèi)容生效。
(3)修改 ~/.bashrc 或者 ~/.bash_profile 文件,加入如下行,只對當(dāng)前用戶永久生效。
修改這個文件之后同樣也需要使用 source 或者是 . 命令使配置文件生效。