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