セクション3.1.2.3の二重引用符で、Bashマニュアルは次のように述べています。
文字を二重引用符( '"')で囲むと、引用符内のすべての文字のリテラル値が保持されますが、例外は '$'、 '`'、 '\'、および履歴展開が有効な場合は '!'です。
現時点では、単一引用符('
)に関心があります。
前のセクションで説明した特別な意味、セクション3.1.2.2は次のとおりです。
文字を一重引用符(
'
)で囲むと、引用符内の各文字のリテラル値が保持されます。バックスラッシュが先行する場合でも、単一引用符は単一引用符の間に出現しない場合があります。
2つの博覧会を組み合わせて、
echo "'$a'"
変数がここでa
定義されていない(従って$a
= NULL文字列)は、印刷すべきである$a
ように、画面上に''
シールドであろう、それは特別な意味内部だ有する、$
特別な解釈から。代わりに、印刷し''
ます。なぜそうなのか?
’, ‘\’, and, when history expansion is enabled, ‘!’." in the manual. But now reading it again I realized the second character is not single quote, ("'") but tilde ("
。あなたの迅速な対応に感謝メートル、ありがとうございます。!