Linux環境變數及其載入順序

2021-09-26 18:59:07 字數 1554 閱讀 9200

/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

系統級**

1./etc/environment:

是系統在登陸時讀取的第乙個檔案,設定整個系統的環境變數,只要啟動系統就會讀取該檔案,用於為所有程序設定環境變數。系統使用此檔案並不執行此檔案中的命令,而是根據key=value 模式的**,如果要在此檔案中定義path環境變數,需要執行:path=$path:/***/bin

2./etc/profile:

此檔案是系統登陸執行的第二個檔案,為系統的每個使用者設定環境資訊。當使用者第一次登陸時,該檔案執行,並從/etc/profile.d目錄中的配置檔案搜尋shell的設定(可以用於設定針對全系統所有使用者的環境變數,環境變數週期是永久的)

3./etc/bashrc:

這個檔案是針對所有使用者的bash初始化檔案,在此設定中的環境資訊將應用與所有使用者的shell中,此檔案會在使用者每次開啟shell時執行一次。(即每次新開乙個終端,都會執行/etc/bashrc)**

使用者級1.~/.profile:

對應當前登入使用者的profile檔案,用於定製當前使用者的個人工作環境(變數是永久性),每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。(推薦放置個人設定的地方)

2.~/.bashrc:

該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取。

(~/.bashrc只針對當前使用者,變數的生命週期是永久的)。不推薦放到這兒,因為每開乙個shell,這個檔案會讀取一次,效率肯定有影響。

3.~/.bash_profile or ./bash_login:/.bash_profile

是互動式login 方式進入 bash 執行的,~/.bashrc 是互動式 non-login 方式進入 bash 執行的通常二者設定大致相同,所以通常前者會呼叫後者。每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次。預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。

(如果~/目錄下沒有.bash_profile則新建立乙個)這裡是推薦放置個人設定的地方。當乙個shell關閉時,在bash_profile中定義的系統變數則會失效。因此,每開啟乙個新的shell時都要執行一次source bash_profile.而且針對當前使用者。

4.~/.bash_logout:

當每次退出系統(退出bash shell)時,執行該檔案。另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者

~/.bashrc等中設定的變數(區域性)只能繼承 /etc/profile中的變數,他們是」父子」關係

參考:

Linux環境變數載入順序

etc profile 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行,並從 etc profile.d目錄的配置檔案中蒐集shell的設定.etc bashrc 為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.使用者級別的...

Linux環境變數載入順序

etc profile 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行,並從 etc profile.d目錄的配置檔案中蒐集shell的設定.etc bashrc 為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.使用者級別的...

Linux環境變數及其設定

概念 環境變數 environment variables 一般是指在作業系統中用來指定作業系統執行環境的一些引數。簡單來說就是乙個變數,用於儲存系統的環境引數。作用 通過修改環境變數的值,靈活的配置系統執行環境引數 使系統環境配置更加靈活 path 指定命令的搜尋路徑 home 指定使用者的主要工...