.bash_profile 和 .bashrc 的區(qū)別

/etc/profile:此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行.并從 /etc/profile.d 目錄的配置文件中搜集 shell 的設(shè)置。
/etc/bashrc:為每一個(gè)運(yùn)行 bash shell 的用戶執(zhí)行此文件。當(dāng) bash shell 被打開時(shí),該文件被讀取。
~/.bash_profile:每個(gè)用戶都可使用該文件輸入專用于自己使用的 shell 信息,當(dāng)用戶登錄時(shí),該文件僅僅執(zhí)行一次。默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件。
~/.bashrc:該文件包含專用于你的 bash shellbash 信息,當(dāng)?shù)卿洉r(shí)以及每次打開新的 shell 時(shí),該該文件被讀取。
~/.bash_logout:少見,但是意味著當(dāng)每次退出系統(tǒng)(退出 bash shell)時(shí),執(zhí)行該文件。

/etc/profile 中設(shè)定的變量(全局)的可以作用于任何用戶, 而 ~/.bashrc 等中設(shè)定的變量(局部)只能繼承 /etc/profile 中的變量,他們是"父子"關(guān)系。

通常我們修改 bashrc 文件,因?yàn)橛行?linux 的發(fā)行版本不一定有 profile 這個(gè)文件。

profile 用于登錄式 shell, 而 bashrc 用于每個(gè)交互式 shell。
~/.bash_profile 是交互式、login 方式進(jìn)入 bash 運(yùn)行的。
~/.bashrc 是交互式 non-login 方式進(jìn)入 bash 運(yùn)行的
通常二者設(shè)置大致相同,所以通常前者會(huì)調(diào)用后者。
所以一般優(yōu)先把變量設(shè)置在 .bashrc 里面。比如在 crontab 里面執(zhí)行一個(gè)命令,.bashrc 設(shè)置的環(huán)境變量會(huì)生效,而 .bash_profile 不會(huì)。

設(shè)置生效,可以使用命令:source ~/.bashrcsource 也可以使用 . 代替,即 . ~/.bashrc。

推薦閱讀

login shell 和 non-login shell 的區(qū)別

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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