QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 959|回复: 2

请教rh9.0中PATH环境变量的问题

[复制链接]
发表于 2004-12-29 17:54:27 | 显示全部楼层 |阅读模式
我在/etc/profile中,找到了PATH的定义,但并不完全
[code:1]
pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}

# Path manipulation
if [ `id -u` = 0 ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fi

pathmunge /usr/X11R6/bin after

unset pathmunge
[/code:1]

请问PATH的最初定义在哪里?
而且有一点我十分不解。当我以普通用户登陆shell时,PATH的值为
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/tintin/bin
我想PATH变量在运行/etc/profile之前的值应该是/usr/local/bin:/usr/bin:/bin。
根据这个结论和上面的代码,我想root用户登陆时,PATH的值应该是
/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/root/bin
但结果却是/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
根据pathmunge函数的执行顺序应该是依次执行pathmunge /sbin,pathmunge /usr/sbin,
pathmunge /usr/local/sbin,但是结果却是交叉的。请问为什么会这样?谢谢。
发表于 2005-1-6 10:55:12 | 显示全部楼层
怎么知道现在的path变量的值啊? echo $path可以吗?
回复

使用道具 举报

 楼主| 发表于 2005-1-6 14:53:55 | 显示全部楼层
echo $PATH
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-9 18:36 , Processed in 0.042733 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表