首先我们设定一个变量 variable=:80
[root@server7 mnt]# echo ${variable}http://www.hao.123.com:80
现在我们直接对其作出调整,得到我们想要的部分。
具体应用自己想,不要太方便。。。。。。。。
比如我们还不知道这个地址变量是http或者https我们就要确认,:后的,而其他部分输入冗余我们就去了他们。
[root@server7 mnt]# echo ${variable%%:*}http
解释:%% :* 从后往前裁剪直到遇到的最后一个冒号
为什么是最后一个呢我们注意到80端口前还有个冒号如果我们要得到端口前的:的前部分我们使用如下
[root@server7 mnt]# echo ${variable%:*}http://www.hao.123.com
少打一个"%"即可意思是从后往前裁剪直到遇到的第一个冒号
现在我们只想保留www.hao123.com 字段
操作如下
先去掉
[root@server7 mnt]# echo ${variable#*//}www.hao.123.com:80
从前向后裁剪到第一个 // (此时我们应该注意到区别从前往后裁剪的时候*号的位置在目的字符之前 而我们使用%从后往前裁剪的时候是在目的字符后面的)
我们让domainp=
[root@server7 mnt]# echo $domainpwww.hao.123.com:80
下来再把端口去掉,很简单 从后往前裁到第一个或者最后一个冒号,都一样, 因为只有一个。
[root@server7 mnt]# echo ${domainp%:*} [root@server7 mnt]# echo ${domainp%%:*}www.hao.123.com
很容易把这些变量字符串裁剪的方法get了么
就是不太容易记 ,所以实践吧。