其他分享
首页 > 其他分享> > BASH: RHEL系pathmunge函数

BASH: RHEL系pathmunge函数

作者:互联网

 

pathmunge函数是RHEL系/etc/profile中定义的一个函数, 用来添加路径到PATH环境变量中, 在/etc/profile最后使用unset -f pathmunge取消了函数定义, 故shell中没有此函数定义

 

 

第一版:

pathmunge() {
  if ! echo $PATH | grep -qE "(^|:)$1($|:)"; then
    if [ "$2" = "after" ]; then
      PATH=$PATH:$1
    else
      PATH=$1:$PATH
    fi
  fi
}

 

第二版:

pathmunge() {
  case ":${PATH}:" in
  *:"$1":*)
    echo in
    ;;
  *)
    if [ "$2" = "after" ]; then
      PATH=$PATH:$1
    else
      PATH=$1:$PATH
    fi
    ;;
  esac
}

 

先对 PATH 头尾加 :, 这样PATH中每一个路径前后都有 :, 对 $1 头尾加 :, 利用case的glob匹配$1, 如果$1在PATH中,则do nothing, 否则 如果第二个参数为after, 则添加$1至PATH后, 默认添加到PATH前

 

 

标签:pathmunge,函数,after,添加,RHEL,fi,PATH,BASH
来源: https://www.cnblogs.com/dissipate/p/16486849.html