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前

 

 

posted @   ascertain  阅读(499)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-07-17 docker 资源限额
2020-07-17 ping linux
2020-07-17 逻辑卷
2020-07-17 dd linux
2020-07-17 DNS
2020-07-17 常用技巧
点击右上角即可分享
微信分享提示