網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

linux命令|export

欄目: IT科技 / 發佈於: / 人氣:2.99W

1、export命令功能:

設定或顯示環境變量。

2、語法:

export [-fnp][變量名稱]=[變量設定值]

3、補充說明:

在shell中執行程序時,shell會提供一組環境變量。 export可新增,修改或刪除環境變量,供後續執行的程序使用。export的效力僅及於該此登陸操作。

4、參數:

-f  代表[變量名稱]中爲函數名稱。

-n  刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。

-p  列出所有的shell賦予程序的環境變量。

一個變量創建時,它不會自動地爲在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變量的值。當一個

shell腳本調用並執行時,它不會自動得到原爲腳本(調用者)裏定義的變量的訪問權,除非這些變量已經被顯式地設定爲可用。

export命令可以用於傳遞一個或多個變量的值到任何後繼腳本,export abc後,將會將abc加入到當前shell的env環境變量中去。

5、在linux裏設定環境變量的方法 (export PATH):

直接使用 export 命令:

[root@liyao ~]# export PATH=$PATH:/usr/local/mysql/bin

檢視是否已經設定好,可以使用命令 export 命令來檢視

[root@liyao ~]# export

declare -x CVS_RSH="ssh"

declare -x G_BROKEN_FILENAMES="1"

declare -x HISTSIZE="1000"

declare -x HOME="/root"

declare -x HOSTNAME="liyao"

declare -x INPUTRC="/etc/inputrc"

declare -x LANG="en_US.UTF-8"

declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"

declare -x LOGNAME="root"

declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"

declare -x MAIL="/var/spool/mail/root"

declare -x OLDPWD

declare -x PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin"

declare -x PWD="/root"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"

declare -x SSH_AUTH_SOCK="/tmp/ssh-AbUtqs3354/agent.3354"

declare -x SSH_CLIENT="192.168.1.102 2640 22"

declare -x SSH_CONNECTION="192.168.1.102 2640 192.168.1.110 22"

declare -x SSH_TTY="/dev/pts/0"

declare -x TERM="vt100"

declare -x USER="root"

注意: 直接使用 export 設定的變量都是臨時變量,也就是說退出當前的shell,爲該變量定義的值便不會生效了。

修改 /etc/profile:

[root@liyao ~]# vi /etc/profile

export PATH=$PATH:/usr/local/mysql/bin # 在配置檔案中加入此行配置

注意:修改完這個檔案必須要使用 以下命令在不用重啓系統的情況下使修改的內容生效

[root@liyao ~]# source /etc/profile

或者是:

[root@liyao ~]# . /etc/profile

[root@liyao ~]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

# 配置已經生效

修改 .bashrc 檔案是在當前用戶 shell 下生效:

# vi /root/.bashrc

在裏面加入:

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

修改這個檔案之後同樣也需要使用 source 或者是 . 使配置檔案生效。

再來使用 echo $PATH看下變量是否生效

[root@liyao ~]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

“/bin”、“/sbin”、“ /usr/bin”、“/usr/sbin”、“/usr/local/bin”等路徑已經在系統環境變量中了,如果可執行檔案在這幾個標準位置,在終端命令行輸入該軟件可執行檔案的檔案名和參數(如果需要參數),回車即可。

如果不在標準位置,檔案名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個“一勞永逸”的辦法是把這個路徑加入環境變量。命令“PATH=$PATH:路徑”可以把這個路徑加入環境變量,但是退出這個命令行就失效了。要想永久生效,需要把這行添加到環境變量檔案裏。有兩個檔案可選:“/etc/profile”和用戶主目錄下的“.bash_profile”,“/etc/profile”對系統裏所有用戶都有效,用戶主目錄下的“.bash_profile”只對這個用戶有效。

“PATH=$PATH:路徑1:路徑2:...:路徑n”,意思是可執行檔案的路徑包括原先設定的路徑,也包括從“路徑1”到“路徑n”的所有路徑。當用戶輸入一個一串字元並按回車後,shell會依次在這些路徑裏找對應的可執行檔案並交給系統核心執行。那個“$PATH”表示原先設定的路徑仍然有效,注意不要漏掉。某些軟件可能還有“PATH”以外類型的環境變量需要添加,但方法與此相同,並且也需要注意“$”。

export linux命令