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

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

我在/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,但是结果却是交叉的。请问为什么会这样?谢谢。
怎么知道现在的path变量的值啊? echo $path可以吗?
echo $PATH