每次使用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文件中配置环境变量