Linux系统环境变量的四个配置文件的关系
Linux系统环境变量配置有四个文件分别是:
/etc/environment,/etc/profile,/etc/bash.bashrc,~/.bashrc
各配置文件意义
/etc/environment:设置整个系统的环境,与登录用户无关
/etc/profile:系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/bash.bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc: 该文件包含专用于该登录用户bash shell的bash信息,当登录时以及每次打开新的shell时该该文件被读取
各配置的生效时间
/etc/environment:重启生效
/etc/profile:注销后登录生效
/etc/bash.bashrc:重新打开bash shell后生效
~/.bahsrc:重新打开bash shell后生效
---------------------------------------------------------------
2015-11-12更新
当我在CentOS 7 下配置/etc/environment文件后,造成了无法再次登录gnome的问题,
经查看发现是PATH变量被破坏,例如配置的JDK的JAVA_HOME时(形如export PATH=$JAVA_HOME/bin:$PATH),
得到的PATH的结果不再是对JAVA_HOME之前配置的值进行替换后的结果,而是直接将PATH变成了(PATH=$JAVA_HOME/bin:~/bin)的形式,
导致接下来执行的/etc/profile错误而使得“/bin”等重要PATH变量丢失,继而导致gnome登录失败
建议在以后的环境变量配置时,选择编写相关脚本,存储在/etc/profile.d/目录下,以免以上情况再次发生