一、shell变量替换

语法:

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

[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var_1="l love you"
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var_1
l love you
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var2=$ {var_1#*ov}
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var2
e you
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var3=${var_1##*o}
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var3
u
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var4="i am a girl,you are a boy"
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var4
i am a girl,you are a boy
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var5=${var4%a*}
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var5
i am a girl,you are
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var6=${var4%%a*}
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var6
i
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var7=${PATH/bin/BIN}
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var7
/usr/local/sBIN:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# var8=${PATH//bin/BIN}
[root@iZwz98qdx9tvkj6qz2yq90Z ~]# echo $var8
/usr/local/sBIN:/usr/local/BIN:/usr/sBIN:/usr/BIN:/root/BIN



Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐