免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3456 | 回复: 2
打印 上一主题 下一主题

请教一个关于环境变量的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-19 11:22 |只看该作者 |倒序浏览
OS:hp-unix, itanium, 11.31

在/etc/profile中,PATH设置:PATH=/usr/bin:/usr/ccs/bin:/usr/contrib/bin:/usr/contrib/Q4/bin:/opt/perl

在/.profile中,PATH设置: PATH=/usr/sbin:$PATH:/sbin:/home/root:/usr/opt/temip/bin

在/root/.dtprofile中没有PATH设置

但是执行env命令后,显示PATH:
PATH=/usr/bin:/usr/ccs/bin:/usr/contrib/bin:/usr/contrib/Q4/bin:/opt/perl/bin:/opt/ipf/bin:/opt/nettladm/bin
:/opt/fcms/bin:/opt/wbem/bin:/opt/wbem/sbin:/opt/rdma/bin:/opt/sas/bin:/opt/ssh/bin:/opt/mx/bin
:/opt/graphics/common/bin:/opt/atok/bin:/usr/bin/X11:/usr/contrib/bin/X11:/opt/sec_mgmt/bastille/bin
:/opt/resmon/bin:/opt/drd/bin:/opt/dsau/bin:/opt/dsau/sbin:/opt/firefox:/opt/gnome/bin:/opt/perf/bin
:/opt/ignite/bin:/usr/contrib/kwdb/bin:/opt/mozilla:/var/opt/netscape/server7/shared/bin
:/var/opt/netscape/server7/bin:/opt/perl_32/bin:/opt/perl_64/bin:/opt/prm/bin:/opt/sfm/bin
:/opt/swm/bin:/opt/sec_mgmt/spc/bin:/opt/java1.4/jre/bin:/opt/spb/bin:/opt/swa/bin:/opt/hpsmh/bin
:/opt/thunderbird:/opt/wlm/bin:/opt/gwlm/bin:/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin: $ACE_ROOT/bin
:/opt/aCC/bin:/opt/caliper/bin:/opt/langtools/bin

按理解,root用户的环境变量的加载次序是/etc/profile —— /.profile —— /root/.dtprofile,但是就算几个加起来,还是没有最终显示的那么多,为什么?还有其他文件要加载吗?加载的次序如何呢?谢谢!

[ 本帖最后由 terry_wen 于 2008-5-19 11:24 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-05-20 23:46 |只看该作者
正常现象。不用研究。你机器上面的application软件的执行path也显示了。

论坛徽章:
0
3 [报告]
发表于 2008-05-22 17:29 |只看该作者

回复 #3 五“宅”一生 的帖子

之前找到了答案,忘记帖出来了

在/etc/profile里面,有这样一段脚本语句:
# Insure PATH contains either /usr/bin or /sbin (if /usr/bin is not available).

        if [ ! -d /usr/sbin ]
        then
                PATH=$PATH:/sbin

        else    if [ -r /etc/PATH ]
                then

                # Insure that $PATH includes /usr/bin .  If /usr/bin is
                # present in /etc/PATH then $PATH is set to the contents
                # of /etc/PATH.  Otherwise, add the contents of /etc/PATH
                # to the end of the default $PATH definition above.

                        grep -q -e \"^/usr/bin$\" -e \"^/usr/bin:\" -e \":/usr/bin:\"\\
                                -e \":/usr/bin$\" /etc/PATH
                        if [ $? -eq 0 ]
                        then
                                PATH=`cat /etc/PATH`
                        else
                                PATH=$PATH:`cat /etc/PATH`
                        fi
                fi
        fi

经过判断以后,应该是加载了/etc/PATH里面的脚本,结果就是和env出来一样了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP