Shell環境變數組態檔及其分類

2020-07-16 10:04:40
在環境變數組態檔中主要定義了對系統的操作環境生效的系統預設環境變數,比如 PATH、HISTSIZE、PS1、HOSTNAME 等。如果我們修改了這些環境變數,而沒有儲存到環境變數組態檔中,那麼一旦登出或重新啟動系統,這些修改就會丟失。

還是那句話,"在 Linux 中,修改要想永久生效,必須寫入相應的組態檔。"當然,我們自己定義的別名雖然不是系統的預設環境變數,但也是修改操作環境的,如果要想永久生效,則也要放入相應的環境變數組態檔中。

登入時生效的環境變數組態檔

在 Linux 系統登入時主要生效的環境變數組態檔有以下 5 個:
  • /etc/profile。
  • /etc/profile.d/*.sh。
  • ~/.bash_profile。
  • -/.bashrc。
  • /etc/bashrc。

這 5 個環境變數組態檔(/etc/profile.d/*.sh 是一系列的組態檔)在使用者登入過程中會依次生效。不過需要注意,/etc/profile、/etc/profile_d/*.sh 和 /etc/bashrc 這三個環境變數組態檔會對所有的登入使用者生效;而 ~/.bash_profile 和 ~/.bashrc 這兩個環境變數組態檔只會對當前使用者生效(因為每個使用者的家目錄中都有這兩個檔案)。這些環境變數組態檔是依靠如圖 1 所示的順序被呼叫的。


圖 1 環境變數組態檔讀取流程