反引号位 (`) 位于鍵盤的Tab鍵的上方、1鍵的左方。注意與單引号(‘)位于Enter鍵的左方的差別。
1 反引号
在Linux的指令行中起着指令替換的作用。指令替換是指shell能夠将一個指令的标準輸出插在一個指令行中任何位置。(在shell腳本中用非常多)
如下,shell會執行反引号中的date指令,把結果插入到echo指令顯示的内容中。
[root@Lanyeye ~]# date
Sat Jun :: CST
[root@Lanyeye ~]# echo date
date
[root@Lanyeye ~]# echo 今天日期:date
今天日期:date
[root@Lanyeye ~]# echo 今天日期:`date`
今天日期:Sat Jun :: CST
正常情況下,echo date 指令将date當做一個字元串處理了,我們想的是讓echo輸出date指令的執行結果,這時候反引号的作用就展現出來。就是将一個指令的輸出插入到另一個指令行或是腳本中的指令行。
2單引号與雙引号
單引号、雙引号用于使用者把帶有空格的字元串指派給變量事的分界符。作用差不多,但是有差別,我在用的時候就敲一個例子去了解,不用刻意的去記憶。 如:echo “ PWD”和echo′ PWD’ 結果不一樣。。。
for example:
[root@Lanyeye ~]# name=chen min
-bash: min: command not found
[root@Lanyeye ~]#
[root@Lanyeye ~]# name='chen min
[root@Lanyeye ~]# name='chen min'
[root@Lanyeye ~]# echo $name
chen min
[root@Lanyeye ~]#
[root@Lanyeye ~]# name2=chen min2
-bash: min: command not found
[root@Lanyeye ~]#
[root@Lanyeye ~]# name2="chen min2"
[root@Lanyeye ~]# echo $name2
chen min
[root@Lanyeye ~]#
如果沒有單引号,shell會把空格後的字元串解釋為指令。
單引号告訴shell忽略所有特殊字元,單引号中是啥内容就是啥。
雙引号中的特殊字元還是有它獨特的作用的。
[root@Lanyeye ~]# echo "$PWD"
/root
[root@Lanyeye ~]# echo '$PWD'
$PWD
[root@Lanyeye ~]#