在设置环境变量的过程中发现了2个问题,我想设置一个环境变量比如/usr/local/aaa
在/etc/profile中加入:export PATH=$PATH:/usr/local/aaa
然后注销当前账户,重新登录后env发现PATH里有aaa这项;然而sudo env查看PATH没有aaa这项(为什么?), /etc/profile这个文件每个账户登录后都应该读取吧?
奇怪的事情还不止如此,我su root后,然后在env,发现PATH和直接在普通账号下运行sudo env的PATH不一样,那sudo env读取的哪的啊
/etc/profile中设置的环境变量对root账户不起作用?
-
- 帖子: 1
- 注册时间: 2008-12-20 11:25
-
- 帖子: 1331
- 注册时间: 2006-07-09 12:22
- 来自: 南京
Re: /etc/profile中设置的环境变量对root账户不起作用?
分清 login-shell 与 nonlogin-shell
分清 sudo 执行的环境变量变化
分清 su 与 su -
楼主大概就不会感到奇怪了。
分清 sudo 执行的环境变量变化
分清 su 与 su -
楼主大概就不会感到奇怪了。
-
- 帖子: 26
- 注册时间: 2007-12-04 22:16
Re: /etc/profile中设置的环境变量对root账户不起作用?
我也是这个情况,我想给全体用户设置
export JAVA_HOME=/usr/local/jdk1.6.0_07
于是修改了/etc/profile,添加上面那行话。但sudo su后,JAVA_HOME变量始终为空。
试过sudo su-,又不能成功。
export JAVA_HOME=/usr/local/jdk1.6.0_07
于是修改了/etc/profile,添加上面那行话。但sudo su后,JAVA_HOME变量始终为空。
试过sudo su-,又不能成功。
-
- 帖子: 26
- 注册时间: 2007-12-04 22:16
Re: /etc/profile中设置的环境变量对root账户不起作用?
哦,这样就可以:
sudo su -
上面su和-间有一个空格。这样似乎能把原用户的环境变量代过去。
sudo su -
上面su和-间有一个空格。这样似乎能把原用户的环境变量代过去。