shell中的这三个引号容易混淆。
双引号仍然可以保有变量的内容,但单引号仅能是一般字符,而不会有特殊符号
比如,如果双引号中存在变量,则会在双引号中将该变量在原地展开,而单引号不会将其作为变量,而是将其作为普通的字符
例:
[root@lufubo-centos kernel]# name=lufubo
[root@lufubo-centos kernel]# echo "my name is $name"
my name is lufubo
[root@lufubo-centos kernel]# echo 'my name is $name'
my name is $name
而反单引号是将反单引号中的命令先执行
例
[root@lufubo-centos ~]# whoami
root
[root@lufubo-centos ~]# echo "my name is `whoami` "
my name is root
上例中,先执行 `whoami`中的whoami,再执行其它。