反斜杠(\):使反斜杠后面的一個變量變為單純的字符串。
單引號(''):轉義其中所有的變量為單純的字符串。
雙引號(""):保留其中的變量屬性,不進行轉義處理。
反引號(``):把其中的命令執行后返回結果。
先定義一個名為PRICE的變量並賦值為5,然后輸出以雙引號括起來的字符串與變量信息:
[root@root ~]# PRICE=5 [root@root ~]# echo "Price is $PRICE" Price is 5
接下來,我們希望能夠輸出“Price is $5”,即價格是5美元的字符串內容,但碰巧美元符號與變量提取符號合並后的$$作用是顯示當前程序的進程ID號碼,於是命令執行后輸出的內容並不是我們所預期的:
[root@root ~]# echo "Price is $$PRICE" Price is 3767PRICE
要想讓第一個“$”乖乖地作為美元符號,那么就需要使用反斜杠(\)來進行轉義,將這個命令提取符轉義成單純的文本,去除其特殊功能。
[root@root ~]# echo "Price is \$$PRICE" Price is $5
而如果只需要某個命令的輸出值時,可以像`命令`這樣,將命令用反引號括起來,達到預期的效果。例如,將反引號與uname -a命令結合,然后使用echo命令來查看本機的Linux版本和內核信息:
[root@root ~]# echo `uname -a` Linux root.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux