升级环境jdk时发现一个问题,在root用户下使用source profile命令使环境变量生效时,在root用户下java -version显示是1.7,这应该是修改成功了;然而切换回普通用户时,java -version还是老的1.6……这就很艹蛋了
马上去百度一番下来发现都tnd没用啊,什么which java啥的,包括每次登录source一次,这么shaodiao的解决方案也写出来?仔细想想linux里有几个管理环境变量的系统文件,除了/etc/profile之外还有~/.bash_profile、 ~/.bash_login或 ~/.profile。于是依依查看过去,果然……
注释掉重新source就ok了
小结
在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,用户主目录下文件的执行的顺序为:~/.bash_profile -> ~/.bash_login -> ~/.profile。
如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。
参考
linux下系统启动时,几个配置文件 /etc/profile、~/.bash_profile 等几个文件的执行过程,先后顺序
https://www.cnblogs.com/haore147/p/3633107.html
Linux中profile、bashrc、bash_profile之间的区别和联系
https://www.cnblogs.com/wangkongming/p/3824292.html