shell特殊字符

Posted Go_Timmy_Go

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell特殊字符相关的知识,希望对你有一定的参考价值。

这篇博文记录平时工作,shell中让人犯迷糊的特殊字符。

shell中特殊字符挺多,不适合花太多精力去搜集、整理,我的想法是遇到了便总结下来,写到这篇文档中,慢慢积累。

百分号:%

百分号在计算公式里可以取余,这个就不说了。这里记录的是,可以按照模板对原字符串进行截取。举例如下:

技术图片
[[email protected] 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}

##运行效果
[[email protected] scripts]# sh test.sh 
abcd123459a
a
esp_haier_com-access
abcd123459abc479
View Code

如上,可以得到%在shell中的作用

  1. 从原字符串中删除一个字符串,目标字符串是原字符串的子字符串,并且出现在原字符串的尾部。
  2. 从右边开始删除
  3. 删除对象可以用通配符进行匹配
  4. 两个百分号可以进行贪婪匹配
  5. %后面不可以跟变量

以上是关于shell特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

Linux bash基础特性二

shell脚本 都有哪些特殊字符不支持

shell脚本中怎样对特殊字符进行处理 一串密码在加密前对密码中的!@#$%等特殊字符进行处理(加上‘’)。

Shell 脚本特殊字符解释

Bash的变量类型

Shell命令行中特殊字符与其转义详解(去除特殊含义)