一、什麼是環境變量?
bash shell用一個稱作環境變量的特性來存儲有關shell會話和工作環境的信息。這也是他們爲什麼被稱作環境變量的原因。
二、環境變量分爲局部和全局
1、全局變量:
不僅對shell會話可見,對所有shell創建的子進程也可見。
2、局部變量:
只對創建它們的shell可見。
三、設置環境變量
1、設置局部環境變量:
a)、字符串要用單引號擴起來;
b)、推薦使用小寫;
c)、當回到父shell時,子shell設置的不再存在;
2、設置全局環境變量:
創建全局環境變量的方法是,先創建一個局部環境變量,然後使用export再把它導出到全局環境中。
四、刪除環境變量
可以使用unset命令來刪除環境變量。
五、設置PATH環境變量
PATH環境變量是LINUX系統上造成最多問題的變量。它定義了命令行輸入命令的搜索路徑。
1、在登錄Linux系統啓動一個bash shell時,默認情況下bash在幾個文件中查找命令。這些文件稱作啓動文件。
bash檢查的啓動文件取決於你啓動shell的方式。
a)、登錄時當做默認登錄shell;
登錄shell會從4個不同的啓動文件裏讀取命令。如下:
、/etc/profile;
、$HOME/.bash_profile;
、$HOME/.bash_login;
、$HOME/.profile
/etc/profile文件是系統上默認的bash shell的主啓動文件。系統上的每個用戶登錄時都會執行這個啓動文件。
另外3個啓動文件是用戶專有的,所以可以根據每個用戶的具體需求定製。
profile文件還有一個複雜的特性。它有個for語句,會逐一訪問位於/etc/profile.d目錄的每個文件。
它爲Linux系統提供了一個集中存放用戶登錄時要執行的應用專屬的啓動文件的地方。
剩下的3個啓動文件都起着同一個作用:提供一個用戶專屬的啓動文件來定義用戶專有的環境變量。
大多數Linux發行版只用這3個啓動文件中的一個。
.bash_profile啓動文件會先去檢查HOME目錄中是不是還有另一個叫做.bashrc的啓動文件。如果有的話,啓動文件會先去
執行它裏面的命令。執行完後,啓動文件將一個目錄加到了PATH環境變量,在HOME目錄下提供了一個放置可執行文件的通用位置。
b)、作爲非登錄shell的交互式shell;
如果bash是作爲交互式shell啓動的,它不會去訪問/etc/profile文件,而會去用戶的HOME目錄檢查.bashrc是否存在。
.bashrc文件有兩個作用:
、查看/etc目錄下的共用bashrc文件
、爲用戶提供了一個定製自己的命令別名和私有腳本函數的地方。
交互式shell的啓動文件只會在每次有新的交互式shell啓動時才運行,因此任何字shell都會自動執行這個交互式shell的啓動。
c)、作爲運行腳本的非交互shell;
系統執行shell腳本時用的就是這種shell。bash提供了BASH_ENV環境變量。當shell啓動一個非交互式shell進程時,它會檢查
這個環境變量來查看要執行的啓動文件。
如果有指定的,shell會執行文件裏的命令。