Linux 中 ~/.bashrc、/etc/profile、etc/bashrc 的區別


/etc/profile

其實看名字就能了解大概了, profile 是某個用戶唯一的用來設置環境變量的地方, 因為用戶可以有多個 shell 比如 bash, sh, zsh 之類的, 但像環境變量這種其實只需要在統一的一個地方初始化就可以了, 而這就是 profile.

當用戶第一次登錄時,該文件被執行。也就是說這個文件對每個用戶都有效,用於獲取系統的環境信息。

~/.bashrc

該文件存儲的是專屬於個人bash shell的信息,只對當前登錄的用戶有效。當登錄時以及每次打開一個新的shell時,執行這個文件。在這個文件里可以自定義用戶專屬的個人信息(比如環境變量)。

/etc/bashrc

為每一個運行bash shell的用戶執行此文件,當bash shell被打開時,該文件被讀取。也就是說,當用戶shell執行了bash時,運行這個文件。

bashrc在Ubuntu下叫做bash.bashrc。bashrc 也是看名字就知道, 是專門用來給 bash 做初始化的比如用來初始化 bash 的設置, bash 的代碼補全, bash 的別名, bash 的顏色. 以此類推也就還會有 shrc, zshrc 這樣的文件存在了, 只是 bash 太常用了而已。

相關文件的讀取順序

在剛登錄Linux時,首先啟動 /etc/profile 文件,然后再啟動用戶目錄下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一個,執行的順序為:~/.bash_profile、 ~/.bash_login、 ~/.profile。

如果 ~/.bash_profile 文件存在的話,一般還會執行 ~/.bashrc文件。因為一般在  ~/.bash_profile 中會使用 . ~/.bash_profile 執行 .bashrc。

 

來源:/etc/profile,/etc/bashrc與~/.bashrc的區別及聯系 - 知乎 (zhihu.com)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM