単一引用符と同様にほとんどの特殊文字を無視します。しかし二重引用符の中で
あってもドル記号 $、逆引用符 `、
バックスラッシュ ¥
の3つ
については認識されます。ドル記号 $が解釈されますので二重引用符内では
シェル変数の置換が行われます。次の2つの例は引用符で囲まれた文字列はまったく
同じものですが、囲んでいる引用符が一方は単一引用符で他方は二重引用符です。
実際に試して2つ違いを確かめてください。
$ echo ' $val means all files in the directory.'
$ echo " $val means all files in the directory."
バックスラッシュ ¥
はその直後に続く一文字の特殊な意味を取り除く
時に使われます。二重引用符内ではシェル変数の置換が行われことを説明しましたが、
$ echo " ¥
$val means all files in the directory."
とするとしてしまうと結果は大きく変わってしまいます。シェルは
バックスラッシュに続く $ を無視しますので $valはシェル変数ではなく
単なる文字列としてなってしまい、変数の置換は行われません。