shell特殊字符

这篇博文记录平时工作,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中的作用

  1. 从原字符串中删除一个字符串,目标字符串是原字符串的子字符串,并且出现在原字符串的尾部。
  2. 从右边开始删除
  3. 删除对象可以用通配符进行匹配
  4. 两个百分号可以进行贪婪匹配
  5. %后面跟变量时,需要先把变量解析出来
原文地址:https://www.cnblogs.com/Go-Spurs-Go/p/10569834.html