qxfsy 于 2014-03-04 17:13:52发表:
高!
于 2014-03-04 09:47:35发表:
${var%pattern},${var%%pattern},${var#pattern},${var##pattern} 这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern}和${var#pattern}是最短匹 配,${var%%pattern}和 ${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最 长最短匹配 while [ "$1" != "${1##[-+]}" ]; do $1 != ${1##[-+]} >>表示从左边最长匹配以【-+】为行首开始匹配 如 a=--+-2233 ${a##[-+]} 值应该就为 -2233 而${a##-} 值 -+-2233 ${a##2} 值 --+-2233 全句的意思为 $1 的值 不等于 以减号或者加号 开始的行 为真,就执行do里面的语句 QQ857770355
qxfsy 于 2014-03-04 17:13:52发表:
高!
于 2014-03-04 09:47:35发表:
${var%pattern},${var%%pattern},${var#pattern},${var##pattern} 这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern}和${var#pattern}是最短匹 配,${var%%pattern}和
${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最 长最短匹配
while [ "$1" != "${1##[-+]}" ]; do
$1 != ${1##[-+]} >>表示从左边最长匹配以【-+】为行首开始匹配
如 a=--+-2233
${a##[-+]} 值应该就为 -2233
而${a##-} 值 -+-2233
${a##2} 值 --+-2233
全句的意思为
$1 的值 不等于 以减号或者加号 开始的行 为真,就执行do里面的语句
QQ857770355