shell 参数扩展说明,供大家学习参考。
参数扩展说明
${param:-default} 如果param为空,就把它设置为default的值
${#param} 给出param的长度
${param%word} 从param的尾部开始删除与word匹配的最小部分,然后返回剩余部分
${param%%word} 从param的尾部开始删除与word匹配的最长部分,然后返回剩余部分
${param#word} 从param的头部开始删除与word匹配的最小部分,然后返回剩余部分
${param##word} 从param的头部开始删除与word匹配的最长部分,然后返回剩余部分
${param} 对param不做处理,只是匹配param变量值
${param:m:n} 对param的头部m位开始,然后返回n-m个长度字符串,计算长度是从0开始计算
${param/word/} 从param中删除第一个符合word的字符串,然后返回剩余部分
${param//word/} 从param中删除所有符合word的字符串,然后返回剩余部分
${!param@}或${!param*} 取变量名称列表,把所有以指定param字符串变量名称列出,各变量之间使用IFS变 量定义的首字符分隔
${!param[@]} 取数组索引列表,把数组变量param所有索引列出,各索引间使用IFS变量定义的首 字符分隔