每次使用sudo su切换为root用户的,时候,发现/etc/profile里面的配置竟然不可用
系统是centos 6.4的,然后研究了一下 /etc/profile /etc/environment(这个文件为空,那就是什么都不执行) ~/.profile /etc/bashrc ~/.bashrc
当用普通用户登陆的时候,会执行 /etc/profile /etc/bashrc
当使用sudo su切花的时候,会执行 /etc/bashrc ~/.bashrc(会内部调用 /etc/bashrc)
所以可以在 ~/.bashrc 最后一行加入 source /etc/profile
/etc/profile:在登录时,操作系 统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
/etc /environment:在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。
~/.profile: 在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认 情况下,他设置一些环境变量,执行用户的.bashrc文件。
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
因此如果想避免这样的问题出现,解决措施如下啦:
在~/.bashrc文件中添加以下代码
source /etc/profile
在~/.bashrc文件中配置环境变量