Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置

区别:java

一、两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置全部用户生效,一样是永久变量,是全局变量。shell

二、/etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本便可,不用像/etc/profile须要改动此文件。运维

三、须要注意的是,/etc/profile和/etc/profile.d一样是登陆(login)级别的变量,当用户从新登陆shell时会触发。因此效果一致。spa

四、一般设置登陆级别的变量,从新登陆shell便可,或者source /etc/profile。code

原来:blog

设置环境变量一般写在/etc/profile里面,如今看来真的很low,若是上百个应用,那么找获得和修改获得是不一样的两码事!那么问题来了,升级后的作法是在/etc/profile.d/目录下新建以应用命令的shell文件便可,而后不须要的变量直接删除对于的shell文件。class

如今:登录

一样的写法,只不过在/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的方式,改下方案吧,这样运维才是王道!!!

相关文章
相关标签/搜索