1、 將多個因為空格或者回車等分隔符隔開的字串合在一起,避免被命令列解析分開;
例如 「a b c」 是乙個字串,而不會像 a b c 這樣會被解析成三個單獨的字串。
2、讓一些特殊符號保持原義。
反引號 ` 這個字元所對應的鍵一般位於鍵盤的左上角, 和單引號 』 是有區別的。
反引號括起來的字串會被 shell 解釋為命令列,
在執行時,shell 首先執行該命令列,並以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。
雖然反引號 `cmd` 和 $(cmd) 變數替換的效果是一樣的,但是使用上還是有一些區別的,
具體可戳 《 linux 反引號 `cmd` 和 $(cmd) 的區別 》 了解。
由單引號括起來的所有字元都作為普通字元出現。
即使是特殊字元,用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。
例如'$a'
不會被展開做變更替換, 『cmd
』 也不會執行其中的 cmd 命令;
由雙引號括起來的字元,除 $、反引號 (`) 和反斜槓(\)仍保留其特殊功能外,其餘字元均作為普通字元對待:
$ : 用於變數替換
反引號` : 用於命令替換
反斜槓\ : 用於轉義
需要注意的是,反斜槓 \ 的轉義能力是有限的,僅當 \ 後面的字元是下述字元之一時, \ 才是轉義字元:
$`」轉義字元告訴 shell 不要對其後面的那個字元進行特殊處理,只是當作普通字元。\newline換行符(回車)
對於 bash 來說,命令的解釋是從左到右的;
因此 先遇到單引號 或者 先遇到雙引號,解釋效果是不一樣的;
舉個例子:
$ a=1
$ echo
"'$a'"
'1'# 單引號失效
$ echo
'"$a"'
"$a"
# 雙引號失效
linux 單引號,雙引號,反引號
目的 為了保護文字不被轉換.除了他本身.就是說除去單引號外,在單引號內的所有文字都是原樣輸出.1.root jszwl161 sp49ep9 echo she is crying help 3.root jszwl161 sp49ep9 echo 4.root jszwl161 sp49ep9 ec...
linux 單引號 雙引號 反引號的區別。
一 單引號和雙引號 單引號和雙引號,都是為了解決中間有空格的問題。因為空格在linux中時作為乙個很典型的分隔符,比如string1 this is astring,這樣執行就會報錯。為了避免這個問題,因此就產生了單引號和雙引號。他們的區別在於,單 引號將剝奪其中的所有字元的特殊含義,而雙引號中的 ...
Shell單引號,雙引號,反引號,反斜槓
shell單引號,雙引號,反引號,反斜槓 shell可以識別4種不同型別的引字符號 單引號字元 雙引號字元 反斜槓字元 反引號字元 1.單引號 grep susan phonebook susan goldberg 403 212 4921 susan topple 212 234 2343 如果我...