shell 双引号"" 单引号'' 反引号`` 的区别

双引号,单引号,反引号是shell编程中常用到的符号,下面简单介绍一下它们的区别


双引号能忽略绝大部分符号的特殊含义,但$  \  ` 这三个字符依然保持其特殊含义
例如, name=qwer
echo $name
$代表解释变量的值
所以加上双引号含义是一样的 echo  "$name"
#!/bin/bash


name=qwer
echo $name
echo "$name"


可以运行一下,结果是一样的


单引号能忽略所有特殊字符的特殊含义
#!/bin/bash


name=qwer
echo '$name'


输出结果为$name,并没有解释出变量name里存放的值,因为$字符的特殊含义被忽略,当成了普通字符。
反引号代表命令替换,如date在linux中代表时间,用``括起来就代表使用的是此命令
#!/bin/bash


echo `date`
echo `pwd`
运行结果为:
2017年 08月 16日 星期三 07:05:02 PDT

/mnt/hgfs/share/1009p/shell

在bash中,$( )` `(反引号)都是用来作命令替换的。

命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。

$( )与``
在操作上,这两者都是达到相应的效果,但是建议使用$( ),理由如下:

``很容易与''搞混乱,尤其对初学者来说,而$( )比较直观。
最后,$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的。





发布了35 篇原创文章 · 获赞 18 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Z_Dream_ST/article/details/77278699