欢迎光临
我们一直在努力

bash – pathmunge优于grep的优势是什么?

本站教程收集整理的这篇文章主要介绍了bash – pathmunge优于grep的优势是什么?,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_696_0@
目前在bash
sHell中使用Solaris 10.

在查看脚本时,我注意到设置了pathmunge过程以避免在PATH中重复文件夹路径(它似乎也具有在PATH的开头或结尾添加必要文件夹的功能).

除了能够追加/预先挂起(如果这是错误的术语,请原谅),为什么我们不能简单地做回声${PATH} | grep<文件夹1希望添加> ?

如果我唯一的意图是在PATH中有一个特定的文件夹(而不是真正关心开头或结尾),那么grep会用于此目的吗?

pathmunge使用grep本身. (好吧,egrep,确切地说.)

在Red Hat,CentOS等中,pathmunge在/ etc / profile中定义:

便宜美国vps

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

正如您所看到的,它比您的建议略微复杂,但并不多.你的提案不起作用的原因是如果没有分隔符,它将进行部分匹配.

所以,如果我的路径是/usr/local / sbin:/usr/local / bin,则回显${PATH} | grep /usr/local将返回true,即使/usr/local不在我的路径中.所以你需要匹配分隔符.但是如果你grep:/usr/local:你也会失败,因为你永远不会匹配路径中的第一个或最后一个项目,因为$PATH既不以分隔符开始也不以分隔符结束.这就是使用egrep的原因. (^ | :)匹配冒号或行的开头. ($| :)匹配冒号或行尾.

本站总结

以上是本站教程为你收集整理的bash – pathmunge优于grep的优势是什么?全部内容,希望文章能够帮你解决bash – pathmunge优于grep的优势是什么?所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。