Bash-shell的啟動文件
Linux系統用環境變量來在程序和腳本中標識它自己。這為你的程序提供了獲得系統信息的一個簡單方法。
問題是如何設置這些變量。
在你登陸Linux系統啟動一個bash shell時,默認情況下bash在幾個文件中查找並執行其中的命令。這些文
件稱作啟動文件。bash檢查的啟動文件取決於你啟動bash shell的方式。啟動bash shell有3種方式:
登陸時當做默認登陸shell
作為非登陸shell的交互式shell
作為運行腳本的非交互式shell
登陸shell
當你登陸Linux時,bash shell會作為登陸的shell啟動。登陸shell會從4個不同的啟動文件裡讀取命令下面是bash shell處理這些文件的次序:
/etc/profile
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
其中/etc/profile文件時bash shell是系統上默認的bash shell的主啟動文件。系統上的每個用戶登陸時都會執行這個文件。另外3個是用戶專有的,可以個性化定制。
交互式shell
如果你的bash shell不是登陸系統時啟動的(比如你在命令行提示符下敲入bash啟動),你啟動的shell稱為交互式shell。交互式shell不會像登陸shell一樣運行,但它依然提供了命令行提示符來輸入命令。交互式shell不會去訪問/etc/profile文件,而會去用戶的HOME目錄下檢查.bashrc是否存在,並執行它。
$HOME/.bashrc
非交互式shell
最後一種類型的shell是非交互式shell。系統執行shell腳本時用到的就是這種shell。它的啟動文件由BASH_ENV環境變量來指定。默認情況該變量為空。
$BASH_ENV