溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中.bashrc與.bash_profile有什么區(qū)別

發(fā)布時間:2021-10-23 15:59:41 來源:億速云 閱讀:363 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹Linux中.bashrc與.bash_profile有什么區(qū)別,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

Interactive Login 和 Non-Login Shell

Bash 被調(diào)用時,會從一組啟動文件中讀取并執(zhí)行命令,至于讀取哪些文件取決于 Shell 是作為交互式登錄調(diào)用還是作為非登錄 Shell 調(diào)用。

其實(shí),Shell 可以是交互式的,也可以是非交互式的。簡單一點(diǎn)地說,交互式 Shell 是一種讀寫用戶終端的 Shell,而非交互式 Shell  完全是與終端無關(guān)的 Shell。 值得注意的是,交互式 Shell 可以是登錄 Shell ,也可以是非登錄 Shell。

有幾種情況可以調(diào)用登錄 Shell,一種是當(dāng)用戶通過 ssh 或本地方式遠(yuǎn)程登錄到終端,還有就是使用 --login 選項(xiàng)啟動 Bash 。比如在  Shell 提示符中鍵入 bash 或打開新的 Gnome 終端選項(xiàng)卡時。交互式非登錄 Shell 從登錄 Shell 調(diào)用。

Bash啟動文件

當(dāng) Bash 作為交互式登錄 Shell 被調(diào)用時,它將查找 /etc/profile 文件,如果該文件存在,它將運(yùn)行文件中列出的命令。然后 Bash  按以下的順序搜索 ~/.bash_profile、~/.bash_login 和 ~/.profile 文件,并在第一個找到的文件中執(zhí)行命令。

當(dāng) Bash 作為交互式非登錄 Shell 被調(diào)用時,它從 ~/.bashrc 文件讀取并執(zhí)行命令,需要指出的是該文件必須存在并且它是可讀的才行。

.bashrc 和 .bash_配置文件之間的差異

在 Bash 作為交互式登錄 Shell 被調(diào)用的情況下,.bash_profile 才會被讀取、執(zhí)行,而 .bashrc 是啟動交互式非登錄 Shell  時才被執(zhí)行的。一般使用 .bash_profile 來運(yùn)行只運(yùn)行一次的命令,比如運(yùn)行自定義環(huán)境變量 PATH 的命令。

每次啟動新 Shell 時應(yīng)該將運(yùn)行的命令放在 .bashrc 文件中,這些命令包括別名和函數(shù)、自定義提示、歷史自定義等。

通常,~/.bash_profile 包含的命令來源于 .bashrc 文件中,示例如下:

Linux中.bashrc與.bash_profile有什么區(qū)別

這意味著每次登錄到終端時,上面兩個文件都會被讀取并執(zhí)行其中的命令。

大多數(shù) Linux 發(fā)行版都是使用 ~/.profile 而不是 ~/.bash_profile。因?yàn)?~/.profile 文件可以被所有 Shell  讀取,而 ~/.bash_ profile 僅能被 Bash Shell 讀取。

如果你的系統(tǒng)上沒有我上面所講的這些啟動文件,那么你也可以自己創(chuàng)建它們。

以上是“Linux中.bashrc與.bash_profile有什么區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI