這篇文章主要介紹了淺談Linux環境變量文件介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧。
在Linux系統中,環境變量按照其作用範圍不同大致可以分為系統級環境變量和用户級環境變量。
系統級環境變量:每一個登錄到系統的用户都能夠讀取到系統級的環境變量 用户級環境變量:每一個登錄到系統的用户只能夠讀取屬於自己的用户級的環境變量 自然而然地,環境變量的配置文件也相應的被分成了系統級和用户級兩種。
系統級
/etc/profile
在系統啓動後第一個用户登錄時運行,並從/etc/profile.d目錄的配置文件中搜集shell的設置,使用該文件配置的環境變量將應用於登錄到系統的每一個用户。
提示:在Linux系統中,使用以下命令可以使配置文件立刻生效。
source /etc/profile
echo $PATH
/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)
在 bash shell 打開時運行,修改該文件配置的環境變量將會影響所有用户使用的bash shell。
注意:這裏的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環境變量文件介紹的文章就介紹到這了。