LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1174|回复: 6

/etc/profile文件里的问题

[复制链接]
发表于 2007-7-20 10:45:16 | 显示全部楼层 |阅读模式
pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH1
           else
              PATH=$1PATH
           fi
        fi
上面语句里的"(^|:)$1($|:)" 是什么意思谁能帮我解达一下吗谢谢
发表于 2007-7-21 11:04:53 | 显示全部楼层
表示$1的左边为非l:和一个空格,右边为$l:和一个空格
回复 支持 反对

使用道具 举报

发表于 2007-7-21 12:34:00 | 显示全部楼层
是不是以$1 |: 开始,或者以$1 |: 结尾的意思呢?
回复 支持 反对

使用道具 举报

发表于 2007-7-21 14:13:11 | 显示全部楼层
^在表达式的首部才有开头的意思吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-23 10:24:50 | 显示全部楼层
我不明白才问的
回复 支持 反对

使用道具 举报

发表于 2007-7-26 16:38:44 | 显示全部楼层
Post by ybbdnvjfd
pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH1
           else
              PATH=$1PATH
           fi
        fi
上面语句里的"(^|:)$1($|:)" 是什么意思谁能帮我解达一下吗谢谢



$1    对  这个函数来说 是它的输入参数,叫做positional parameters,首先,看看其 再不在PATH里面, "(^|:)$1($|:)"     这个 只是看看它 匹配它 是不是在开头或前面有:,或者是结尾或后面紧跟着 :
回复 支持 反对

使用道具 举报

发表于 2007-7-31 08:54:10 | 显示全部楼层
在egrep里括在引号里的|表示或的意思,在grep中是没有特殊含义的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表