/etc/profile和/etc/environment的區別

/etc/profile 文件

當一個用戶登陸Linux系統或使用 su 命令切換到另外一個用戶時,設置用戶環境第一個讀取的文件就是 /etc/profile ,此文件爲系統全局變量配置文件,且僅僅在第一次登陸系統時纔會全局運行 /etc/profileshell

注意上面描述的幾個關鍵: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/environment 文件

/etc/profile 文件以後,登陸系統時讀取環境信息使用的第二個文件就是 /etc/environment 文件,理論上在這個文件中也能夠設置環境變量,環境變量達到的效果也和 /etc/profile 文件的環境變量效果同樣,全局永久的環境變量;code

可是,最好別經過這個文件添加或修改環境變量,由於 /etc/profile 文件是面對系統用戶的,填寫錯了大不了最多致使系統裏的全部用戶沒法使用,可是 /etc/environment 文件是面對系統的,系統經過 /etc/environment 文件中的PATH去找對應的東西,以Ubuntu爲例子,若是不當心更改 /etc/environment 文件中把PATH影響到,就沒法進入桌面界面了,也沒法使用一些命令了;blog

因此,/etc/environment 文件過重要了,僅僅想要設置一個全局的環境變量,徹底沒有必要用這個文件。get

擴展文章:登錄

/etc/profile和/etc/profile.d/的區別變量

Linux下環境變量配置擴展

相關文章
相關標籤/搜索