shell中的单引号、双引号

单引号

在单引号中不能使用任何变量和命令。
由单引号括起来的字符作为普通字符出现。比如:

1
2
ind=1
newday=`date -d "${ind} day ago" +"%Y-%m-%d"`

报错:date: 无效的日期"${ind} day ago"
原因:${}由单引号括起来了,只能作为普通字符。

双引号

除了$(美元符号)、\(反斜杠)、(单引号)、和(双引号)四个符号,其他字符都作为普通字符含义。

对于“$”来说,就是用其后指定的变量的值来代替这个变量和$;
对于“\”而言,是转义字符,它告诉shell不要对其后面的那个字符进行特殊处理,只当作普通字符即可。可以想见,在双引号中需要在前面加上“\”的只有四个字符$\本身。
而对”号,若其前面没有加\,则Shell会将它同前一个”号匹配。

反引号

这个字符所对应的键一般位于键盘的左上角。
反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。
可用新用法$()代替。

参考自:https://blog.csdn.net/iamlaosong/article/details/54728393

文章作者:Lily

原始链接:/2018/06/29/shell%E4%B8%AD%E7%9A%84%E5%8D%95%E5%BC%95%E5%8F%B7%E3%80%81%E5%8F%8C%E5%BC%95%E5%8F%B7/

版权说明:转载请保留原文链接及作者。