Linux:Shell脚本中的pathmunge命令

时间:2020-01-09 10:43:11  来源:igfitidea点击:

问题描述:我在Red Hat Enterprise Linux下看到了一些脚本中使用的pathmunge。
您能否解释在RHEL/CentOS/Fedora Linux下使用pathmunge?

解决方法:Red Hat,CentOS和Fedora Linux在/etc/profile文件中定义了pathmunge函数。
它将目录一一添加到root用户的默认PATH中。

pathmunge()函数在/etc/profile中定义

pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)($|:)" ; then
           if [ "" = "after" ] ; then
              PATH=$PATH:
           else
              PATH=:$PATH
           fi
        fi
}

使用pathmunge完成路径操作:

# Path manipulation
if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fi

只要您使用Red Hat或者CentOS/Fedora Linux,就可以使用pathmunge。
如果需要在不同发行版上运行shell脚本,最好避免使用此功能。
我建议使用export bash命令修改PATH变量。