雙引號和單引號之間的區別

雙引號 單引號
允許變數擴充套件 防止可變擴充套件
允許歷史記錄擴充套件 防止歷史擴張
允許命令替換 防止命令替換
*@ 可以有特殊的含義 *@ 總是文字
可以包含單引號或雙引號 單引號內不允許單​​引號
$`"\可以用\轉義,以防止它們的特殊含義 所有這些都是文字

兩者共有的屬性:

  • 防止 globbing
  • 防止分詞

例子:

$ echo "!cat"
echo "cat file"
cat file
$ echo '!cat'
!cat
echo "\"'\""
"'"
$ a='var'
$ echo '$a'
$a
$ echo "$a"
var