profile、bash_profile、bashrc的用途與區(qū)別

1. profile文件

1.1 profile文件的作用

profile(/etc/profile),用于設(shè)置系統(tǒng)級(jí)的環(huán)境變量和啟動(dòng)程序,在這個(gè)文件下配置會(huì)對(duì)所有用戶生效。

當(dāng)用戶登錄(login)時(shí),文件會(huì)被執(zhí)行,并從/etc/profile.d目錄的配置文件中查找shell設(shè)置。

1.2 在profile中添加環(huán)境變量

一般不建議在/etc/profile文件中添加環(huán)境變量,因?yàn)樵谶@個(gè)文件中添加的設(shè)置會(huì)對(duì)所有用戶起作用。

當(dāng)必須添加時(shí),我們可以按以下方式添加:

如,添加一個(gè)HOST值為linuxprobe.com的環(huán)境變量:

export HOST=linuxprobe.com

添加時(shí),可以在行尾使用;號(hào),也可以不使用。

一個(gè)變量名可以對(duì)應(yīng)多個(gè)變量值,多個(gè)變量值需要使用:進(jìn)行分隔。

添加環(huán)境變量后,需要重新登錄才能生效,也可以使用source命令強(qiáng)制立即生效:

source /etc/profile

查看是否生效可以使用echo命令:

$ echo $HOST

linuxprobe.com

2. bashrc文件

bashrc文件用于配置函數(shù)或別名。bashrc文件有兩種級(jí)別:

系統(tǒng)級(jí)的位于/etc/bashrc、用戶級(jí)的位于~/.bashrc,兩者分別會(huì)對(duì)所有用戶和當(dāng)前用戶生效。

bashrc文件只會(huì)對(duì)指定的shell類型起作用,bashrc只會(huì)被bash shell調(diào)用。

3. bash_profile文件

bash_profile只對(duì)單一用戶有效,文件存儲(chǔ)位于~/.bash_profile,該文件是一個(gè)用戶級(jí)的設(shè)置,可以理解為某一個(gè)用戶的profile目錄下。

這個(gè)文件同樣也可以用于配置環(huán)境變量和啟動(dòng)程序,但只針對(duì)單個(gè)用戶有效。

和profile文件類似,bash_profile也會(huì)在用戶登錄(login)時(shí)生效,也可以用于設(shè)置環(huán)境變理。

但與profile不同,bash_profile只會(huì)對(duì)當(dāng)前用戶生效。

4. 差異總結(jié)

4.1 首先讀入全局環(huán)境變量設(shè)定檔/etc/profile,然后根據(jù)其內(nèi)容讀取額外的設(shè)定的文檔,如/etc/profile.d和/etc/inputrc;

4.2 根據(jù)不同使用者帳號(hào),于其家目錄內(nèi)讀取~/.bash_profile;

讀取失敗則會(huì)讀取~/.bash_login;

再次失敗則讀取~/.profile(這三個(gè)文檔設(shè)定基本上無(wú)差別,僅讀取上有優(yōu)先關(guān)系);

4.3 最后,根據(jù)用戶帳號(hào)讀取~/.bashrc。(對(duì)于預(yù)裝的linux系統(tǒng)選擇《Linux就該這么學(xué)》書(shū)籍提供的,可免費(fèi)下載。)

至于~/.profile與~/.bashrc都具有個(gè)性化定制功能,但~/.profile可以設(shè)定本用戶專有的路徑、環(huán)境變量等,它只能登入的時(shí)候執(zhí)行一次。

~/.bashrc也是某用戶專有設(shè)定文檔,可以設(shè)定路徑、命令別名,每次shell script的執(zhí)行都會(huì)使用它一次。

這三種文件類型的差異用一句話表述就是:

/etc/profile,/etc/bashrc 是系統(tǒng)全局環(huán)境變量設(shè)定;~/.profile,~/.bashrc用戶家目錄下的私有環(huán)境變量設(shè)定。

當(dāng)?shù)侨胂到y(tǒng)時(shí)候獲得一個(gè)shell進(jìn)程時(shí),其讀取環(huán)境設(shè)定檔如下:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容