Shell-变量替换
变量替换规则
语法 | 说明 |
---|---|
${变量名#匹配规则} | 从变量开头进行规则匹配,将符合最短的数据删除 |
${变量名##匹配规则} | 从变量开头进行规则匹配,将符合最长的数据删除 |
${变量名%匹配规则} | 从变量尾部进行规则匹配,将符合最短的数据删除 |
${变量名%%匹配规则} | 从变量尾部进行规则匹配,将符合最长的数据删除 |
${变量名/旧字符串/新字符串} | 变量内容符合旧字符串,则第一个旧字符串会被新字符串替换 |
${变量名//旧字符串/新字符串} | 变量内容符合旧字符串,则全部的旧字符串会被新字符串替换 |
练习:
# 新建一个变量 var_1 并赋值
var_1="Reality doesn’t change according to your will"
#验证 从变量开头进行规则匹配,将符合最短的数据删除
var2=${var_1#*a}
# 输出查看
echo $var2
#验证 从变量开头进行规则匹配,将符合最长的数据删除
var3=${var_1##*a}
# 输出查看
echo $var3
#验证 从变量尾部进行规则匹配,将符合最短的数据删除
var4=${var_1%a*}
# 输出查看
echo $var4
#验证 从变量尾部进行规则匹配,将符合最长的数据删除
var5=${var_1%%a*}
# 输出查看
echo $var5
#验证 变量内容符合旧字符串,则第一个旧字符串会被新字符串取代,将change改为大写
var6=${var_1/change/CHANGE}
# 输出查看
echo $var6
#验证 变量内容符合旧字符串,则全部的旧字符串会被新字符串取代,将所有的o改为大写
var7=${var_1//o/O}
# 输出查看
echo $var7