这篇博文记录平时工作,shell中让人犯迷糊的特殊字符。
shell中特殊字符挺多,不适合花太多精力去搜集、整理,我的想法是遇到了便总结下来,写到这篇文档中,慢慢积累。
百分号:%
百分号在计算公式里可以取余,这个就不说了。这里记录的是,可以按照模板对原字符串进行截取。举例如下:
[root@timmy scripts]# vim test.sh #!/bin/bash p=b*9 var="abcd123459abc479" st="esp_haier_com-access.log" echo ${var%b*9} echo ${var%%b*9} echo ${st%.log} echo ${var%p} echo ${var%${p}} 运行效果 [root@timmy scripts]# sh test.sh abcd123459a a esp_haier_com-access abcd123459abc479 abcd123459a
如上,可以得到%在shell中的作用
- 从原字符串中删除一个字符串,目标字符串是原字符串的子字符串,并且出现在原字符串的尾部。
- 从右边开始删除
- 删除对象可以用通配符进行匹配
- 两个百分号可以进行贪婪匹配
- %后面跟变量时,需要先把变量解析出来