bash – 修剪PATH变量中的重复条目

我经常修改我的.bashrc然后来源它.但是,当我有类似的东西
在我的文件中导出PATH =“〜/ bin:〜/ perl5 / bin:$PATH”,然后每次我获取文件时PATH环境变量都会增长.

例如,第一次.bashrc来源,PATH变量由〜/ bin:〜/ perl5 / bin:/usr/bin:/ bin组成.

第二次它由〜/ bin组成:〜/ perl5 / bin:〜/ bin:〜/ perl5 / bin:/usr/bin:/ bin.

第三次它由〜/ bin组成:〜/ perl5 / bin:〜/ bin:〜/ perl5 / bin:〜/ bin:〜/ perl5 / bin:/usr/bin:/ bin.

有没有一种简单的方法可以让它只添加PATH中尚未包含的内容

使用大多数发行版的/ etc / profile中提供的pathmunge()函数
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
   if [ "$2" = "after" ] ; then
      PATH=$PATH:$1
   else
      PATH=$1:$PATH
   fi
fi
}

编辑:对于zsh用户,请排版-U< variable_name>将重复删除路径条目.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...