簡單介紹Linux環境變數檔案

大雄45發表於2020-06-08
這篇文章主要介紹了淺談 環境變數檔案介紹,文中透過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

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

系統級環境變數:每一個登入到系統的使用者都能夠讀取到系統級的環境變數
使用者級環境變數:每一個登入到系統的使用者只能夠讀取屬於自己的使用者級的環境變數
自然而然地,環境變數的配置檔案也相應的被分成了系統級和使用者級兩種。

系統級
/etc/profile

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

簡單介紹Linux環境變數檔案簡單介紹Linux環境變數檔案

提示:在Linux系統中,使用以下 可以使配置檔案立刻生效。

source /etc/profile
echo $PATH
/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)

在 bash shell 開啟時執行,修改該檔案配置的環境變數將會影響所有使用者使用的bash shell。
簡單介紹Linux環境變數檔案簡單介紹Linux環境變數檔案
注意:這裡的bash shell有不同的類別,不同的類別所使用的環境變數配置檔案也有所不同。一般情況下,非登入shell不會執行任何profile檔案,非互動shell模式不會執行任何bashrc檔案。

# 登入shell和非登陸shell:
登入shell # 需要輸入使用者密碼,例如 ssh 登入或者 su -  提權都會啟動login shell模式
非登陸shell # 無需輸入使用者密碼;

# 互動shell和非互動shell:
互動shell # 提供命令提示符等待使用者輸入命令的是互動shell模式
非互動shell # 直接執行 檔案是非互動shell模式
/etc/environment

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

使用者級
~/.profile(推薦首選)

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

~/.bashrc

當使用者登入時以及每次開啟新的shell時該檔案都將被讀取,不推薦在這裡配置使用者專用的環境變數,因為每開一個shell,該檔案都會被讀取一次,效率肯定受影響。

~/.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 ;
然而, 預設情況下,這些檔案不會影響圖形會話
~/.bash_logout

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

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

一般情況下,Linux載入環境變數配置檔案的執行順序為:

==> /etc/profile
==> ~/.bash_profile | ~/.bash_login | ~/.profile
==> ~/.bashrc
==> /etc/bashrc
==> ~/.bash_logout

到此這篇關於淺談Linux環境變數檔案介紹的文章就介紹到這了。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2697005/,如需轉載,請註明出處,否則將追究法律責任。

相關文章