免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2426 | 回复: 6

exit后,环境变量才生效,为何? [复制链接]

论坛徽章:
0
发表于 2007-11-08 11:47 |显示全部楼层
使用securecrt以普通用户登录linux,然后从普通用户直接su -到root用户:
$ su -
Password:
[root@localhost root]# env|grep test

——此时发现 .bash_profile 里面的变量设置没有生效。

[root@localhost root]# exit
exit
xhost:  unable to open display "localhost:0.0"

——发现exit后,还在root用户里面(前面未曾su过两次的)

[root@localhost root]# env|grep test

TEST_HOME=/home/test
——这个时候,发现环境变量生效了

即root第一次登陆后,必须exit(本来exit后应该退出root环境)一次,且此时仍然在root用户环境,并且获得了root的环境变量。
其他用户类似现象!

不知谁遇到过类似问题?为何产生这个问题?

论坛徽章:
0
发表于 2007-11-08 11:52 |显示全部楼层
exit还在root里?是不是多执行了sh了

论坛徽章:
0
发表于 2007-11-08 12:12 |显示全部楼层
没有的。即使初次切换登陆到其他用户(任意用户)环境里面,从该用户退出,都要exit两次。很奇怪!检查login和su(排除被替换这种情况),都没有问题的。

论坛徽章:
0
发表于 2007-11-08 18:25 |显示全部楼层
下面目录下的shell配置文件都一一检查看看
/
/etc
~

论坛徽章:
0
发表于 2007-11-08 18:39 |显示全部楼层
比较奇怪,你先试试
echo $$
exit
echo $$

看看两次echo出来的是否相同,然后我们再进一步分析一下

论坛徽章:
0
发表于 2007-11-08 18:46 |显示全部楼层
还有,倘若不是su, 而是直接登录某个用户,需要两次exit吗?

你把 /etc/sudoers ,~/.bash_profile,~/.bashrc 也给我们看看.

[ 本帖最后由 seeLnd 于 2007-11-8 18:51 编辑 ]

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
发表于 2007-11-08 19:30 |显示全部楼层
~/.bash_out 里有什么特别的设计?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP