Linux下環境變量設置技巧,不用/etc/profile而是在/etc/profile.d目錄下新建特定的shell文件來設置


區別:

1、兩個文件都是設置環境變量文件的,/etc/profile是永久性的環境變量,是全局變量,/etc/profile.d/設置所有用戶生效,同樣是永久變量,是全局變量。

2、/etc/profile.d/比/etc/profile好維護,不想要什么變量直接刪除/etc/profile.d/下對應的shell腳本即可,不用像/etc/profile需要改動此文件。

3、需要注意的是,/etc/profile和/etc/profile.d同樣是登錄(login)級別的變量,當用戶重新登錄shell時會觸發。所以效果一致。

4、通常設置登錄級別的變量,重新登錄shell即可,或者source /etc/profile。

原來:

設置環境變量通常寫在/etc/profile里面,現在看來真的很low,如果上百個應用,那么找得到和修改得到是不同的兩碼事!那么問題來了,升級后的做法是在/etc/profile.d/目錄下新建以應用命令的shell文件即可,然后不需要的變量直接刪除對於的shell文件。

現在:

同樣的寫法,只不過在/etc/profile.d/目錄下新建對應的shell即可,比如新建java的:

vi /etc/profile.d/java.sh

export JAVA_HOME=/data/service/java

原理:

無論在Linux還是再Mac下,都可以用這個方式去實現,分析/etc/profile這個文件你會發現有這么一段shell,這個就是關鍵所在:

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

總結:

不要再使用以前那么low的方式,改下方案吧,這樣運維才是王道!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM