变量扩展:取字符串切片,字符串长度
字符串切片语法:
1.${变量:位置起点}
2.${变量:位置起点:长度}
位置参数:
$0 函数名
$@ 所有参数
${@:起点}
${@:起点:个数}
计算字符串长度
语法: ${#变量名}
${#变量名} 计算字符串长度
${#数组[@]}取得数组元素个数
${#数组[*]}取得数组元素个数
expr length "字符串"
expr "字符串" : '.*'
例:
str='Here you are'
len=${expr length "$str"}
len1=${expr "$str" : '.*'} 一定要有"",'',:之间一定要有空格
变量扩展:对比样式
由字符串前面对比,删除相符者
${变量#样式} 删除最小匹配
${变量##样式} 删除最长匹配
例:
filename="/usr/sbin/ntpdate"
r=${filename#/*/}
s=${filename##/**/}
echo $r,$s
由字符串前面对比,删除相符者
${变量%样式} 删除最小匹配
${变量%%%样式} 删除最长匹配
取代或删除部分字符串
只替换第一个匹配的字符串
${变量/样式/替换字符串}
替换全部匹配的字符串
${变量//样式/替换字符串}
只删除第一个匹配的字符串
${变量/样式/}
删除所有匹配的字符串
${变量//样式/}
要求样式在句首或句尾
#
例:
str="Tony,This is Joy."
r=${str/#T*/}
echo $r