获取字符串长度
MyString= ${#MyString} # 结果为
自动去掉字符串结尾处的空格,如果在字符串中包含空格(开头、中间或结尾),就需要使用引号把字符串包裹起来:
MyString=
${#MyString} # 结果为
MyString= $( match ) # 结果为
MyString= $( index C12) # ,注意:索引是从 开始的。
提取子串
提取子串。提取从位置 $position 开始的位置参数。提取 $length 长度的子串。
MyString= ${MyString:} # ABC123ABCabc,注意:此时索引是从 ${MyString::<span style="color: #0000ff">echo ${:<span style="color: #800080">2} # 打印出第 <span style="color: #800080">2<span style="color: #000000"> 个和后边所有的位置参数。
<span style="color: #0000ff">echo ${@:<span style="color: #800080">2<span style="color: #000000">} # 同上。
<span style="color: #0000ff">echo ${:<span style="color: #800080">2:<span style="color: #800080">3} # 从第 <span style="color: #800080">2 个开始,连续打印 <span style="color: #800080">3 个位置参数。
<span style="color: #0000ff">echo ${@:<span style="color: #800080">2<span style="color: #000000">} # 同上。
<span style="color: #0000ff">echo ${:<span style="color: #800080">2:<span style="color: #800080">3} # 从第 <span style="color: #800080">2 个开始,连续打印 <span style="color: #800080">3 个位置参数。
提取 $substring,$substring 是正则表达式。
MyString= $( match ) # abcABC1
删除子串
MyString= ${MyString#a* 到 <span style="color: #0000ff">echo ${MyString##a*<span style="color: #000000">C} # abc
截掉
<span style="color: #800000">'<span style="color: #800000">a<span style="color: #800000">' 到 <span style="color: #800000">'<span style="color: #800000">C<span style="color: #800000">' 之间最长的匹配字符串。
MyString= ${MyString%b* 到 <span style="color: #0000ff">echo ${MyString%%b*<span style="color: #000000">c} # a
从 $MyString 的结尾位置截掉
<span style="color: #800000">'<span style="color: #800000">b<span style="color: #800000">' 到 <span style="color: #800000">'<span style="color: #800000">c<span style="color: #800000">' 之间最长的匹配。文件名的时候,这个操作就显得特别有用。
MyString= ${MyString/abc/ ${MyString/ABC/<span style="color: #0000ff">echo ${MyString<span style="color: #008000">//<span style="color: #008000">abc/xxx} # xxxABC123ABCxxx
<span style="color: #0000ff">echo ${MyString<span style="color: #008000">//<span style="color: #008000">ABC/XXX} # abcXXX123XXXabc
<span style="color: #0000ff">echo ${MyString<span style="color: #008000">//<span style="color: #008000">ABC/XXX} # abcXXX123XXXabc
替换所有匹配到的子串。
MyString= ${MyString/#abc/ 替换开头的 <span style="color: #0000ff">echo ${MyString/%abc/<span style="color: #000000">XXX} # abcABC123ABCXXX