免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5296 | 回复: 3
打印 上一主题 下一主题

shell函数pathmunge的意思 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-24 10:35 |只看该作者 |倒序浏览
在/etc/profile中有一个函数pathmunge():
pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|$1($|" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH1
           else
              PATH=$1PATH
           fi
        fi
}
这个函数实现什么功能的? 这个语句”if ! echo $PATH | /bin/egrep -q "(^|$1($|" ;“怎么理解?

论坛徽章:
0
2 [报告]
发表于 2010-05-24 10:55 |只看该作者
其实就是判断这个过程的参数,是否在这个PATH环境变量中,
如果不在的话,就进入下面的判断

论坛徽章:
0
3 [报告]
发表于 2010-05-24 10:59 |只看该作者
pathmunge () {
      7         if ! echo $PATH | /bin/egrep -q "(^|$1($|" ; then
      8            if [ "$2" = "after" ] ; then
      9               PATH=$PATH1
     10            else
     11               PATH=$1PATH
     12            fi
     13         fi
     14 }
     15
     16 # Path manipulation
     17 if [ `id -u` = 0 ]; then
     18         pathmunge /sbin
     19         pathmunge /usr/sbin
     20         pathmunge /usr/local/sbin
     21 fi
     22
     23 pathmunge /usr/X11R6/bin after

就是如果调用pathmunge后面的第2个参数含有after 则 环境变量PATH 后面增加/usr/X11R6/bin即PATH:/usr/X11R6/bin  否则 环境变量格式为 /usr/X11R6/bin ATH

论坛徽章:
0
4 [报告]
发表于 2010-05-24 11:03 |只看该作者
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP