1

原谅我的无知...

我正在查看某人编写的 shell 脚本,他们写了这个:

expr "$myvariable" : '0*$'

我不知道这意味着什么。

4

1 回答 1

4

expr 中的冒号 : 是匹配运算符。左边的字符串是针对右边的正则表达式进行测试的。正则表达式组 ( ) 捕获任何匹配项。正则表达式用一个字符数替换自己,然后 : 行为有点像数组索引操作 - 你从该位置开始获取左侧字符串(如 Python 中的 somestring[n:] )

'0*$' 匹配零,任何东西,行尾。我不知道我的变量中有什么,但我猜除非它的值以零字符开头,否则不会有烟花。

http://docstore.mik.ua/orelly/unix3/upt/ch36​​_23.htm(来自 O' Reilly Unix 电动工具)

另请参阅http://pubs.opengroup.org/onlinepubs/7908799/xcu/expr.html 大约一半

于 2013-03-28T07:19:51.503 回答