关于${ }的用法-Linux shell编程小记
1.替换、裁剪
在shell编程中,当遇到需要将某个字符串进行替换或者裁剪时,我们首先想到的是sed和awk,但是sed和awk的功能都太强大了,当只是简单的对某个字符串进行替换裁剪时,我们可以使用${}来完成。
替换
替换的格式为 ${变量/|//被替换字符/替换字符}
file=/home/test/test.sh
#将第一个test替换为tty1
filename=${file/test/tty1}
#将所有的test替换为tty1
filename=${file//test/tty1}
裁剪
裁剪的格式为${变量#(##)|%(%%)正则表达式}
#删除第一个/左边的所有字符
filename=${
file#*/}
#删除第一个/右边的所有字符
filename=${file%/*}
#删除最后一个/左边所有字符
filename
裁剪IP
[root@master01 ~]# hosts='192.168.21.1;192.168.21.2;192.168.21.212'
[root@master01 ~]# echo $hosts
192.168.21.1;192.168.21.2;192.168.21.212
[root@master01 ~]#
[root@master01 ~]# host1=${hosts/;/ }
[root@master01 ~]#
[root@master01 ~]# echo $host1
192.168.21.1 192.168.21.2;192.168.21.212
[root@master01 ~]#
[root@master01 ~]# host1=(${hosts/;/ })
[root@master01 ~]#
[root@master01 ~]# echo $host1
192.168.21.1