反引号位 (`) 位于键盘的Tab键的上方、1键的左方。注意与单引号(')位于Enter键的左方的区别。
在Linux中起着命令替换的作用。命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。
如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中。
[root@localhost fwz]# echo The date is `date`
The date is 2016年 04月 21日 星期一 21:15:43 CST
单引号、双引号用于用户把带有空格的字符串赋值给变量事的分界符。
[root@localhost fwz]# str="Today is Monday"
[root@localhost fwz]# echo $str
如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中。
[root@localhost fwz]# echo The date is `date`
The date is 2016年 04月 21日 星期一 21:15:43 CST
单引号、双引号用于用户把带有空格的字符串赋值给变量事的分界符。
[root@localhost fwz]# str="Today is Monday"
[root@localhost fwz]# echo $str
Today is Monday
如果没有单引号或双引号,shell会把空格后的字符串解释为命令。
[root@localhost fwz]# str=Today is Monday
bash: is: command not found
单引号和双引号的区别。单引号告诉shell忽略所有特殊字符,而双引号忽略大多数,但不包括$、\、`。
[root@localhost fwz]# testvalue=100
[root@localhost fwz]# echo 'The testvalue is $testvalue'
The testvalue is $testvalue
[root@localhost fwz]# echo "The testvalue is $testvalue"
如果没有单引号或双引号,shell会把空格后的字符串解释为命令。
[root@localhost fwz]# str=Today is Monday
bash: is: command not found
单引号和双引号的区别。单引号告诉shell忽略所有特殊字符,而双引号忽略大多数,但不包括$、\、`。
[root@localhost fwz]# testvalue=100
[root@localhost fwz]# echo 'The testvalue is $testvalue'
The testvalue is $testvalue
[root@localhost fwz]# echo "The testvalue is $testvalue"
The testvalue is 100
也就表示单引号是强引用,双引号是弱引用。
总结:反引号是命令替换、单引号是强引用、双引号是弱引用。