shell关于shell单双引号的问题

关于shell单双引号的问题:

双引号能够识别变量,双引号能够实现转义(类似于“*”)

单引号是不能识别变量,只会原样输出,单引号是不能转义的

例子

[root@localhost ~]$ name=abc
#定义变量name 的值是abc
[root@localhost ~]$ echo '$name'
$name
#如果输出时使用单引号,则$name原封不动的输出
[root@localhost ~]$ echo "$name"
abc
#如果输出时使用双引号,则会输出变量name的值 abc

[root@localhost ~]$ echo `date`
2018年10月21日星期一18:16:33 CST
#反引号括起来的命令会正常执行
[root@localhost ~]$ echo '`date`'
`date`
#但是如果反引号命令被单引号括起来,那么这个命令不会执行,―date`会被当成普通字符输出
[root@localhost ~]$ echo "`date'"
2018年10月21日星期一18:14:21 CST
#如果是双引号括起来,那么这个命令又会正常执行

猜你喜欢

转载自blog.csdn.net/ABCisCOOL/article/details/109288680
今日推荐