首頁 >運維 >linux運維 >linux中環境變數在哪個文件

linux中環境變數在哪個文件

青灯夜游
青灯夜游原創
2022-06-10 19:02:0015302瀏覽

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

linux中環境變數在哪個文件

本教學操作環境: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 或 ~ ./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~/.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中環境變數在哪個文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn