第一种方法:
${varible##*string } 从左向右截取最后一个string后的字符串
${varible#*string} 从左向右截取第一个string后的字符串
${varible%%string*} 从右向左截取最后一个string后的字符串
${varible%string*} 从右向左截取第一个string后的字符串
例子:
TESTSTRING="teststring helloworld"
echo ${TESTSTRING##*s}
# "tring helloworld"
echo ${TESTSTRING#*s}
# "tstring helloworld"
echo ${TESTSTRING%%s*}
#"te"
echo ${TESTSTRING%s*}
#"test"
第二种方法:
${varible:n1:n2} 截取从n1到n2长度的字符串TESTSTRING="teststring helloworld"
echo ${TESTSTRING:0:4}
#"test"
echo ${TESTSTRING:1:5}
#"ests"
echo ${TESTSTRING:0:-2}
"teststring hellowor"
下划线为分隔符分割到数组:
STR_A=(${STR//_/ })