Shell变量扩展 取字符串片段

取字符串片段的方法是:
${变量名称:索引位置:字符个数}
其中索引位置从0算起,字符个数是指包括索引位置在内的N个字符串片段,如果不指定字符个数,则默认结束位置为字符串的结尾
取字符串的长度的方法是:
$(expr  length  “$字符串变量名”) 注意这里以括号来括起来 表示返回表达式的计算值
或者
$(expr “$字符串变量名” :  '.*')

shell 变量扩展 对比样式
${变量名称/样式/替换字符串} 从左至右寻找匹配样式的的字符串,将替换字符串替换过去
${变量名称//样式/替换字符串}  从左至右寻找匹配样式的的字符串,并全部替换
${变量名称%样式%替换字符串} 从右至左寻找匹配样式的的字符串,将替换字符串替换过去
${变量名称%%样式%替换字符串} 从右至左寻找匹配样式的的字符串,并全部替换

${变量名#样式} 从左至右寻找匹配样式最短的字符串,并删除掉
${变量名##样式} 从左至右寻找匹配样式最长的字符串,并删除掉
类似的为%操作符号

变量扩展 取变量名称列表 数组索引列表
取变量名称列表的方法是:${!样式@} 取所有以样式名开头的变量名
取数组索引列表的方法是:
${!数组名[@]} 返回的是数组的全部索引

猜你喜欢

转载自bestchenwu.iteye.com/blog/996301