使用#%截取字符串
记住# $ % 这3个字符在键盘上的位置
# 在 $ 的左边,从左边开始数
% 在 $的右边,从右边开始数
${varible##*string} #从左向右截取最后一个string后的字符串
${varible#*string} #从左向右截取第一个string后的字符串
${varible%%string*} #从右向左截取最后一个string后的字符串
${varible%string*} #从右向左截取第一个string后的字符串
“*”只是一个通配符可以不要
# 例子:
MYVAR="food|forthought.jpg"
echo ${MYVAR##*fo} # rthought.jpg
echo ${MYVAR#*fo} # od|forthought.jpg
echo ${MYVAR%%fo*} #
echo ${MYVAR%fo*} #food|
使用位置与长度截取${str:index:length}
${varible:n1:n2}: 从左边数截取变量varible从n1到n2之间的字符串。
${varible:0-n1:n2}:从右边数截取变量varible从n1到n2之间的字符串。
MYVAR="food|forthought.jpg"
echo ${MYVAR:0:3} #foo
echo ${MYVAR:3} #d|forthought.jpg
echo ${MYVAR:0-3:2} #jp
echo ${MYVAR:0-3} #jpg
字符串替换${str/oldChar/newChar}
str=/home/log/logs/err.log.2017-12-05
echo ${str/log/xxx} #:将第一个log替换为xxx
#/home/log/logs/err.log.2017-12-05
echo ${str//log/xxx} #: 将全部log替换为xxx
#/home/admin/xxxs/err.xxx.2017-12-05