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/目录下,以免以上情况再次发生

原文地址:https://www.cnblogs.com/lanyun0520/p/4939519.html