當一個用戶登陸Linux系統或使用 su
命令切換到另外一個用戶時,設置用戶環境第一個讀取的文件就是 /etc/profile
,此文件爲系統全局變量配置文件,且僅僅在第一次登陸系統時纔會全局運行 /etc/profile
。shell
注意上面描述的幾個關鍵:vim
設置用戶環境第一個讀取的腳本文件
能夠推理出在它以後讀取的文件設置環境變量將會會覆蓋/etc/profile
文件中配置的環境變量;僅僅在第一次登陸系統時纔會全局運行 /etc/profile
能夠解釋一個場景:咱們在使用Ubuntu等桌面Linux系統時,用快捷鍵ctrl+alt+t
打開的shell終端裏,修改環境變量後使用source /etc/profile
這個命令執行生效,新的環境變量只能在當前的終端裏面有效,打開新的shell終端時,剛纔有效的環境變量在新的終端是不生效的;因此全局生效/etc/profile
環境變量的正確方式是註銷重登陸或者直接重啓系統
以添加JDK的環境變量爲例子,vim /etc/profile
打開文件, 在文件最後添加:.net
export JAVA_HOME=/opt/jdk1.8.0_191 export PATH=$JAVA_HOME/bin:$PATH
在 /etc/profile
文件以後,登陸系統時讀取環境信息使用的第二個文件就是 /etc/environment
文件,理論上在這個文件中也能夠設置環境變量,環境變量達到的效果也和 /etc/profile
文件的環境變量效果同樣,全局永久的環境變量;code
可是,最好別經過這個文件添加或修改環境變量,由於 /etc/profile
文件是面對系統用戶的,填寫錯了大不了最多致使系統裏的全部用戶沒法使用,可是 /etc/environment
文件是面對系統的,系統經過 /etc/environment
文件中的PATH去找對應的東西,以Ubuntu爲例子,若是不當心更改 /etc/environment
文件中把PATH影響到,就沒法進入桌面界面了,也沒法使用一些命令了;blog
因此,/etc/environment
文件過重要了,僅僅想要設置一個全局的環境變量,徹底沒有必要用這個文件。get
擴展文章:登錄