免费注册 查看新帖 |

Chinaunix

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

${1##[-+]}的作用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-10 10:49 |只看该作者 |倒序浏览
请问下 在 /etc/init.d/functions

中while [ "$1" != "${1##[-+]}" ]; do

其中.  ${1##[-+]}"   的用法的作用是什么?

论坛徽章:
0
2 [报告]
发表于 2009-11-10 10:53 |只看该作者

回复 #1 loniy 的帖子

${file##*/}:拿掉最后一条 / 及其左边的字符串:

论坛徽章:
0
3 [报告]
发表于 2009-11-10 11:06 |只看该作者
汗,,,,,果然是这样,,,变个样子就认不出了.....无语..

${var#Pattern}, ${var##Pattern}
从变量$var的开头删除最短或最长匹配$Pattern的子串


好了,谢谢楼上.

[ 本帖最后由 loniy 于 2009-11-10 11:09 编辑 ]

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
4 [报告]
发表于 2014-02-26 15:58 |只看该作者
wtuter 发表于 2009-11-10 10:53
${file##*/}:拿掉最后一条 / 及其左边的字符串:


好像不对
  1. $cat test.sh
  2. $#!/bin/sh
  3. $#test.sh
  4. $echo "${1##[-+]}"

  5. $./test.sh ---a
  6. $--a     <--这里按理因该回显 a 才对
复制代码

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
5 [报告]
发表于 2014-02-26 16:13 |只看该作者
原来是星号,不过下面就有意思了
  1. # cat test.sh
  2. #!/bin/sh
  3. #test.sh
  4. echo ${1##*[-+]}
  5. echo ${1##[-+]}
  6. echo ${1#[-+]}

  7. # ./test.sh ++-3
  8. 3
  9. +-3
  10. +-3

复制代码

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
6 [报告]
发表于 2014-02-26 16:19 |只看该作者
看出来了.不过为什么这里要用两个#,一个#不就满足了吗?
  1. #./ifcp a++-3
  2. 3
  3. a++-3
  4. a++-3
  5. a++-3
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP