shell 变量替换

公式

在这里插入图片描述

总结

1. ${变量#匹配规则}  		#从头开始匹配, 最短删除
2. ${变量##匹配规则} 		#从头开始匹配,最长删除
3. ${变量%匹配规则} 			#从尾开始匹配,最短删除
4. ${变量%%匹配规则} 		#从尾开始匹配,最长删除
5.${变量/旧字符串/新字符串} 	#替换变量内的旧字符串为新字符串,只替换第一个
6. ${变量//旧字符串/新字符串}	#替换变量内的旧字符串为新字符串,全部替换

示例

  1. 删除
var1 ="I love you, Do you love me?"
echo $var1 # I love you, Do you love me?

#从头开始匹配, 最短删除
echo ${var1#*ov} # e you, Do you love me?  

#从头开始匹配,最长删除
echo ${var1##*ov} # e me?

#从尾开始匹配,最短删除
echo ${var1%*ov} # e me? # I love you, Do you l

#从尾开始匹配,最长删除
echo ${var1%%*ov} # e me? # I l
  1. 替换
echo $PATH # /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 将bin替换成BIN

# 替换变量内的旧字符串为新字符串, 只替换第一个
echo ${PATH/bin/BIN} # /usr/local/sBIN:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# 替换变量内的旧字符串为新字符串, 全部替换
echo ${PATH//bin/BIN} # /usr/local/s/BIN:/usr/local//BIN:/usr/s/BIN:/usr//BIN:/s/BIN://BIN