linux中環境變數在哪個檔案

2022-06-10 22:00:40

linux中包含環境變數的組態檔有多個:1、「/etc/profile」檔案,該檔案設定的環境變數將應用於登入到系統的每一個使用者;2、「/etc/bashrc」,修改該檔案設定的環境變數將會影響所有使用者使用的bash shell;3、「/etc/environment」,該檔案包含與系統執行相關但與使用者無關的環境變數;4、「~/.profile」;5、「~/.bashrc」。

本教學操作環境:linux7.3系統、Dell G3電腦。

一、環境變數介紹:

 在Linux系統中,環境變數按照其作用範圍不同大致可以分為系統級環境變數和使用者級環境變數。

  • 系統級環境變數:每一個登入到系統的使用者都能夠讀取到系統級的環境變數;
  • 使用者級環境變數:每一個登入到系統的使用者只能夠讀取屬於自己的使用者級的環境變數;

  自然而然地,環境變數的組態檔也相應的被分成了系統級和使用者級兩種。

二、系統級:

1、/etc/profile

在系統啟動後第一個使用者登入時執行,並從/etc/profile.d目錄的組態檔中搜集shell的設定,使用該檔案設定的環境變數將應用於登入到系統的每一個使用者。

提示:在Linux系統中,使用以下命令可以使組態檔立刻生效。

  source /etc/profile
  echo $PATH

2、/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)

在 bash shell 開啟時執行,修改該檔案設定的環境變數將會影響所有使用者使用的bash shell。

注意:這裡的bash shell有不同的類別,不同的類別所使用的環境變陣列態檔也有所不同。

一般情況下,非登入shell不會執行任何profile檔案,非互動shell模式不會執行任何bashrc檔案。

3、/etc/environment

在系統啟動時執行,用於設定與系統執行相關但與使用者無關的環境變數,修改該檔案設定的環境變數將影響全域性。

三、使用者級:

1、~/.profile(推薦首選)

~/.profile: executed by Bourne-compatible login shells.

當使用者登入時執行,每個使用者都可以使用該檔案來設定專屬於自己使用的shell資訊。

2、~/.bashrc

~/.bashrc: executed by bash(1) for non-login shells.

當使用者登入時以及每次開啟新的shell時該檔案都將被讀取,不推薦在這裡設定使用者專用的環境變數,因為每開一個shell,該檔案都會被讀取一次,效率肯定受影響。
生效用:source
bashrc和profile的差異
從上面的英文描述可以知道,bashrc和profile的差異在於:

  注意:通常我們修改bashrc,有些linux的發行版本不一定有profile這個檔案;

    • 1. bashrc 是在系統啟動後就會自動執行。
    • 2. profile 是在使用者登入後才會執行。
    • 3. 進行設定後,可運用source bashrc命令更新bashrc,也可運用source profile命令更新profile。
    • 4. /etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係。

3、~/.bash_profile 或 ~./bash_login

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile"
when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login").
However, these files won't influence a graphical session by default.

以上是ubuntu官網給出的關於~/.bash_profile 和 ~./bash_login 的說明,翻譯為中文:
~/.bash_profile 或 ~./bash_login -
如果有其中的一個檔案存在的話, 當啟動的是一個登入shell時,Bash 會執行該檔案而不會執行~/.profile ;
如果兩個檔案都存在的話,Bash 將會優先執行~/.bash_profile 而不是~/.bash_login ;
然而, 預設情況下,這些檔案不會影響圖形對談。

4、~/.bash_logout

當每次退出系統(退出bash shell)時執行該檔案。

注意:Linux系統使用 $VARIABLE_NAME 存取環境變數,多個環境變數之間使用 「:」分隔,Windows系統使用 %VARIABLE_NAME% 存取環境變數,多個環境變數之間使用 ; 分隔。

相關推薦:《Linux視訊教學

以上就是linux中環境變數在哪個檔案的詳細內容,更多請關注TW511.COM其它相關文章!