Linux命令(49)——export命令(builtin)

1.命令簡介

export命令爲Shell內建命令,用於設置或顯示環境變量,環境變量包含變量與函數。

在Shell中執行程序時,Shell會提供一組環境變量。export可新增、刪除或修改環境變量,供後續被執行的程序使用。export的作用效果僅限於當前登陸。

2.命令格式

export [-fn] [name[=word]] ...
export -p

3.命令選項

-f:表示[name]中爲函數名稱。
-n:刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p:列出所有的Shell環境變量。

4.常用示例

(1)定義環境變量並賦值。

export MYNEWV=8

(2)修改指明Shell命令搜索路徑的環境變量PATH。

export PATH=$PATH:/usr/local/mysql/bin

查看是否已經設置好,可以使用命令export -p命令來查看,也可以使用echo命令打印變量內容。

export -p | grep PATH

#或者
echo $PATH

(3)export用於Shell腳本。 用戶登錄到Linux系統後,系統將啓動一個用戶shell。在這個shell中,可以使用shell命令或聲明變量,也可以創建並運行shell腳本程序。系統將創建一個子shell進程。此時,系統中將有兩個shell進程,一個是登錄時系統啓動的shell進程,另一個是系統爲運行腳本程序創建的shell進程。當一個腳本程序運行完畢,它的腳本shell進程將終止,可以返回到執行該腳本之前的shell。從這種意義上來 說,用戶可以有許多shell進程,每個shell進程都是由其父shell進程派生的。

在子shell中定義的變量只在該子shell內有效。如果在一個shell腳本程序中定義了一個變量,當該腳本程序運行時,這個定義的變量只是該腳本程序內的一個局部變量,其他的shell不能引用它,要使某個變量的值可以在其他shell中被改變,可以使用export命令對已定義的變量進行輸出。 export命令將使系統在創建每一個新的shell時定義這個變量的一個拷貝。這個過程稱之爲變量輸出。

例如腳本test1.sh中調用腳本test2.sh,test2.sh中使用test1.sh定義的變量shareVar。 test1.sh定義如下:

#!/bin/sh
shareVar=666
export shareVar
./test2.sh

test2.sh定義如下:

#!/bin/sh
echo "in $0"
echo $shareVar

執行test1.sh輸出結果如下:

[user_00@TENCENT64 ~]./test1.sh
in ./test2.sh
666

5.Linux設置環境變量的三種實現方法

(1)1.直接使用export命令

export PATH=$PATH:/usr/local/mysql/bin

注意:直接使用export設置的變量都是臨時變量,也就是說退出當前的Shell爲該變量定義的值便不會生效了。我們可以使用如下兩種方式使變更永久有效。

(2)修改/etc/profile,加入如下行,將對所有用戶生效。

export PATH=$PATH:/usr/local/mysql/bin

注意:修改完這個文件必須要使用如下命令執行配置文件的內容,在不用重啓系統的情況下使修改的內容生效。

source /etc/profile

#或
. /etc/profile

(3)修改~/.bashrc文件,加入如下行,只對當前用戶生效。

export PATH=$PATH:/usr/local/mysql/bin

修改這個文件之後同樣也需要使用source或者是.命令使配置文件生效。


參考文獻

[1]man export [2]菜鳥教程.Linux export命令 [3]linux下export命令添加、刪除環境變量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章