linux 单引号,双引号,反引号
單引號
目的: 為了保護文字不被轉換.除了他本身. 就是說除去單引號外,?
在單引號內的所有文字都是原樣輸出.
1. [root@jszwl161 SP49EP9]# echo '$*><!'
? $*><!
2. [root@jszwl161 SP49EP9]# echo 'she is crying: "help"'
? she is crying: "help"
3. [root@jszwl161 SP49EP9]# echo '\\\\'
? \\\\
4. [root@jszwl161 SP49EP9]# echo 'hah 'test''
? hah test ? ?#略去了所有'
5. [root@jszwl161 SP49EP9]# echo ' today is `date`'
? today is `date` ? #反引號在此無法實現函數功能.
雙引號
目的: 為了包含文字或者函數段. 除了本身,反引號內的函數,
$開頭的變量和\開頭反轉換的字符外, 其余都是直接輸出.
1. [root@jszwl161 SP49EP9]# echo "today is `date`"
? today is Fri Jul ? 4 08:03:34 GMT 2008
2. [root@jszwl161 SP49EP9]# echo "today is 'date'"
? today is 'date'
3. [root@jszwl161 SP49EP9]# echo "\\\\"
? \\
4. [root@jszwl161 SP49EP9]# echo "test "test""
? test test
反引號
目的是為了在雙引號內保持函數轉換. 但單引號內其無作用.
1. [root@jszwl161 SP49EP9]# echo "today is `date`"
? today is Fri Jul ? 4 08:03:34 GMT 2008 ? ?#將函數date轉換.
2. [root@jszwl161 SP49EP9]# echo ' today is `date` '
? today is `date` ? ?#在單引號內無作用.
單引號
被單引號用括住的內容,將被視為單一字串。在引號內的代表變數的$符號,沒有作用,也就是說,他被視為一般符號處理,防止任何變量替換。
雙引號
被雙引號用括住的內容,將被視為單一字串。它防止通配符擴展,但允許變量擴展。這點與單引數的處理方式不同。
反引號
在前面的單雙引號,括住的是字串,但如果該字串是一列命令列,會怎樣?答案是不會執行。要處理這種情況,我們得用反單引號來做。
fdv=`date +%F`echo "Today $fdv"
在倒引號內的 date +%F 會被視為指令,執行的結果會帶入 fdv 變數中。
轉載于:https://blog.51cto.com/hangtiangazi/1620023
總結
以上是生活随笔為你收集整理的linux 单引号,双引号,反引号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HttpClient 学习整理[转]
- 下一篇: 检查IP的shell