1. 获取字符串长度
str="test"
echo ${#str}
2. 获取匹配的子串的长度
str="substring"
echo $(expr match "$str" "*.b")
3. 获取子串的索引
str="substring"
echo $(expr index "$str" "string")
4. 提取子串
str="substring"
echo ${str:3} // string
echo ${str:3:3} // str
5.截断子串
str="substringbig"
# 从开头截断匹配的子串
echo ${str#s*b} // string
echo ${str##s*b} // ig
# 从末尾截断匹配的子串
echo ${str%b*g} // substring
echo ${str%%b*g} // su
6. 替换子串
str="substringbig"
# 替换第一个字串
echo ${str/string/sss} // subsssbig
# 替换所有子串
echo ${str//b/s} // susstringsig
# 替换匹配开头的子串
echo ${str/#sub/sss} // sssstringbig
# 替换结尾的子串
echo ${str/%big/sss} // substringsss
7. 字符串大小写转换
str="subString"
# 转为大写
echo ${str^^} // SUBSTRING
# 转为小写
echo ${str,,} // substring
8. 设置默认字符串
str=""
str1="default"
# 当str为空或未定义时将str1的值赋给str2
str2=${str:-$str1}
echo $str2 // default