日期:2014-05-16  浏览次数:20666 次

谁能告诉我这句shell脚本什么意思?
ROOTPROJ=${PWD%%/zproject*}

其中的%%什么意思,最后为何加*
为何加花括号
整句呢?
谢谢

------解决方案--------------------
ROOTPROJ=${PWD%%/zproject*}
其中的%%什么意思,最后为何加*
为何加花括号

建议看看linux shell 编程 %%表示在 字符串 PWD 中从末尾开始进行匹配,匹配到从尾开始最后一个。取剩下的字符串。

例如,这里是匹配 /zproject 开始的任意字符串。

花括号是shell对字符串的引用,请看看shell 规则。
------解决方案--------------------
%%和##都是最长匹配截取,不过与##相反,%%是从字符串末尾开始匹配截取,*是通配符!其他的2楼已经说的很清楚了,《Bourne again shell (bash) 基本编程》里面就有这些讲解的!