一、單引號和雙引號
首先,單引號和雙引號,都是為了解決中間有空格的問題。
因為空格在linux中時作為乙個很典型的分隔符,比如string1=this is astring,這樣執行就會報錯。為了避免這個問題,因此就產生了單引號和雙引號。他們的區別在於,單引號將剝奪其中的所有字元的特殊含義,而雙引號中的'$'(引數替換)和'`'(命令替換)是例外。所以,兩者基本上沒有什麼區別,除非在內容中遇到了引數替換符$和命令替換符`。
所以下面的結果:
num=3
echo 『$num』
$num
echo 「$num」
3所以,如果需要在雙引號」」裡面使用這兩種符號,需要用反斜槓轉義。
二、反引號``
這個用法和$()是一樣的。在執行一條命令時,會先將其中的 ``,或者是$() 中的語句當作命令執行一遍,再將結果加入到原命令中重新執行,例如:
echo `ls`
會先執行 ls 得到xx.sh等,再替換原命令為:
echo xx.sh
最後執行結果為
xx.sh
那麼,平時我們遇到的把一堆命令的執行結果輸出到乙個變數中,需要用這個命令替換符括起來,也就可以理解了。
這裡又涉及到了乙個問題,雖然不少系統工程師在使用替換功能時,喜歡使用反引號將命令括起來。但是根據posix規範,要求系統工程師採用的是$(命令)的形式。所以,我們最好還是遵循這個規範,少用``,多用$()
Shell單引號,雙引號,反引號,反斜槓
shell單引號,雙引號,反引號,反斜槓 shell可以識別4種不同型別的引字符號 單引號字元 雙引號字元 反斜槓字元 反引號字元 1.單引號 grep susan phonebook susan goldberg 403 212 4921 susan topple 212 234 2343 如果我...
shell中的單引號 雙引號 反引號
在shell中引號分為三種 單引號,雙引號和反引號。由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。單引號用於保持引號內所有字元的字面值,即使引號內的 和回車也不例外,但是字串中不能出現單引號。注意是所有,只是單引號本身不能夠出現在其中 例...
shell中單引號 雙引號 反引號的使用
在編寫shell指令碼時,會經常地使用到單引號 雙引號 反引號這些特殊的符號。它們在shell中有著不同的作用,但容易被誤用和引起混亂。簡單總結一下三者的使用和區別。它關閉shell中所有的特殊符號使用和解釋,即單引號間的內容全部以普通字元的含義進行文字使用和解釋,不管是特殊字元 還是轉義字元之類的...