一、環境變量解釋
環境變量是什么?
引用百度百科里面的解釋:環境變量是操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows系統中的path環境變量,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還可以到path中指定的路徑去找。用戶通過設置環境變量,來更好的運行進程。
為什么需要環境變量?
windows系統下,假如我們安裝了某一款軟件,安裝結束后,在安裝目錄會生成一個該軟件的.exe文件,雙擊該文件,我們就能啟動軟件。但是難道我們每次要運行該軟件的時候都要先找到該.exe文件所在的路徑,然后雙擊嗎,顯然是不可能的,因為我們根本不可能記住所有已安裝軟件的路徑。 這時候就需要環境變量了。下來我們通過例子了解一下。
QQ舉例
首先安裝好QQ,我們不用桌面快捷方式打開它,用Windows的dos窗口打開,進入dos界面后,直接輸入QQ回車發現:

你想要讓系統運行一個程序,你首先得告訴它這個程序在哪。所以我們要將QQ的可執行文件位置告訴系統,也就是說將該文件路徑給系統。

將此路徑給系統后:

然后你的QQ就打開了;接着你關掉dos后重新進入,輸入QQ發現,又是上面的問題,這就意味着你要從dos打開QQ的話,必須每次進入QQ.exe文件所在路徑,每次都得給系統QQ.exe文件的絕對路徑;
所以,就很麻煩,那怎么解決呢?一個一勞永逸的方法就是將QQ.exe的文件路徑放在Path環境變量里面,以后要打開QQ就不用每次進入該路徑了。如下圖所示:

接下來打開dos輸入QQ回車:

二、Linux下的環境變量解釋及設置
同理,在Linux系統上的環境變量與Windows上的作用類似。在Linux系統,如果你下載並安裝應用程序,很有可能在鍵入它的名稱的時候出現 “command not found ” 的提示內容。 如果每次都到安裝目錄文件夾內,找到可執行文件來進行操作就太繁瑣了, 這就需要設置path環境變量了。
Shell定義的環境變量
Shell在開始執行的時候就已經定義了一些與系統工作環境有關的變量,用戶還可以重新定義這些變量。常用的shell環境變量有以下幾種。
- HOME:用於保存用戶主目錄的完全路徑名。
- PATH:用於保存用冒號分隔的目錄路徑名,shell將按PATH變量中給出的順序搜索這些目錄,找到的第一個與命令名稱一致的可執行文件將被執行。
- SHELL:當前用戶使用的Shell
- UID:當前用戶的UID
- LOGNAME:當前用戶的登錄名
- HOSTNAME:主機名稱

查看環境變量
Linux中set 、env 和 export 都可以查看環境變量。
- set<命令顯示當前shell的變量,包括當前用戶的變量,set主要用來設置sh的參數與選項
- env命令顯示當前用戶的變量,env用來在構建的環境中運行命令
- export命令顯示當前導出成用戶變量的shell變量
這里我們只用 export 命令舉例來查看PATH值:
xxx@xxx:~$ export
declare -x CLUTTER_IM_MODULE="xim"
declare -x COMPIZ_CONFIG_PROFILE="ubuntu"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-RvyK9kjBBX"
declare -x DEFAULTS_PATH="/usr/share/gconf/ubuntu.default.path"
declare -x DESKTOP_SESSION="ubuntu"
declare -x DISPLAY=":0"
declare -x GDMSESSION="ubuntu"
declare -x GDM_LANG="en_US"
declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
declare -x GNOME_KEYRING_CONTROL=""
declare -x GNOME_KEYRING_PID=""
export不加參數的時候,顯示哪些變量被導出成了用戶變量,因為一個shell自己的變量可以通過 export “導出”變成一個用戶變量。
Linux下環境變量的設置
如果想將一個路徑加入到 $PATH 中,可以有幾種方法。比如我想將 /tmp/test 路徑加入到 $PATH 變量中:
1、控制台中設置 (只對當前shell有效)
執行 export PATH=$PATH:/tmp/test 命令:

2、修改當前家目錄下的 .bashrc 文件 (只對當前用戶有效)
先執行 vim ~/.bashrc 命令,在最末尾加入下面內容,然后 source ~/.bashrc,使配置文件生效。
export PATH=$PATH:/tmp/test

3、修改/etc/bashrc 文件 (針對所有用戶有效)
先執行 sudo vim /etc/profile 命令,在最末尾加入下面內容,然后 source /etc/profile,使配置文件生效。
export PATH=$PATH:/tmp/test

注:source命令通常用於重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登錄。
參考:
