相应的实验例子见:bash参数扩展(Parameter Expansion)

${parameter#word}  从最左开始匹配去除最短匹配的部分(即只匹配前缀)
${parameter##word} 从最左开始匹配去除最长匹配的部分
${parameter%word}  从最右开始匹配去除最短匹配的部分(即只匹配后缀)
${parameter%%word} 从最右开始匹配去除最长匹配的部分

${parameter/pattern/string} 用string去替掉pattern最长匹配的部分
${parameter/#pattern/string} 用string去替掉pattern从最左匹配最长的部分(即只匹配前缀)

${parameter:-word} 如果$parameter有值则返回其值,否则返回字符串word,$parameter值不改变
${parameter:=word} 如果$parameter有值则返回其值,否则返回字符串word,$parameter值同时变为word
${parameter:+word} 如果$var无值则返回空,有值则将word赋给$parameter,并返回其值
${parameter:?word} 变量$parameter有值则返回,没有则返回错误,错误信息为word

${#parameter} 如果$parameter值为字符串则返回字符串长度
${#parameter[@]} 如果$parameter为数组则返回数组长度

${parameter:start:len} 截取字符串$parameter从第start位开始,总共截len位,start如果为负数则表示从右数

${!name[@]}、 ${!name[*]} 返回数组$name的索引(下标)
有任何疑问请点击留言: 留言板
本文发布于http://wiki.too2.net,转载请联系本人。