linux shell脚本中需要转义的特殊字符

                                    shell 脚本中的特殊含义(和去除转义)      

  在linux 的shell编程中,我们会经常用到各种各样的符号,比如 #.!. (), {} / 等等。这些字符在linux 系统中有着特殊的意义,如果我们在使用过程中不去对它做转义,那么结果可能不是我们想要的。

        最近在项目中,编写 脚本时发现,! 如果不转义就会影响运行结果,脚本也会报错。下面罗列一些常用的需要转义的特殊字符,大家可以参考借鉴。

        1. 特殊符号及其转义

案例1  :    today is Mon Oct 12 16:14:16 CST 2015 
       当然,具体的日期跟你执行这条命令的时期有关. 总之,意思你应该明白了. 再回到原来的问题,我们说单引号可以转义"`", 而双引号不行, 意思就是,单引号之间的"`"将失去它的特殊含义,而双引号之间的"`"将依然有特殊含义,所以
 echo 'today is `date`' 
将显示
        today is `date` 

echo “today is `date`” 
将显示
today is Mon Oct 12 16:23:23 CST 2015 

常见的一些特殊字符

•  * 任意个任意字符
•  ? 一个任意字符
• [..] []中的任意一个字符,这里也类似于正则表达式,中括号内可以是具体的一些字符,如[abcd]也可以是用-指定的一个范围,如[a-d]
• # 注释
• (空格) 参数分隔符
•  cmd 命令替换
•  | 管道
•  & 后台执行
•  ; 命令分隔符(可以在同一行执行两个命令,用;分割)
•  ~ 用户home目录
 
最后记得,任何时候,你不确定自己是不是转义对了,或者是特殊字符用对了,记得可以在命令前面加上echo,来看看真实执行的命令是怎么样的.
 
总结
 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

 

猜你喜欢

转载自blog.csdn.net/xingyue0422/article/details/80366658