${#string}
expr length $string
expr "$string" : '.*'
返回字符串string的长度
expr match "$string" '$substring'
expr "$string" : '$substring'
$substring是正则表达式
返回匹配的字符数
expr index $string $substring
返回substring中字符的第一个索引的位置(1开始)
${parameter-default}, ${parameter:-default}
如果parameter未设置,则用default代替。二者区别于parameter声明但设置为空的情况,第一个不替换,第二个替换
${parameter=default}, ${parameter:=default}
赋值默认替换
${parameter+alt_value}, ${parameter:+alt_value}
如果parameter设置的,则返回alt_value的值
${var#Pattern}(短删除), ${var##Pattern}(长删除)
删除在var前面中的pattern pattern是正则表达式
${var%Pattern}, ${var%%Pattern}
同上,从后面删除
${var:pos} ${var:pos:len}
截取字符串
${var/Pattern/Replacement} $ var//Pattern/Replacement}
替换字符串
${var/#Pattern/Replacement} ${var/%Pattern/Replacement}
同上,分别为前提换和后替换