私はコマンドラインで''
and(二重引用符と二重引用符)を同じ意味で使用しましたが、最近は「」は拡張されていませんが、「」は拡張されることがわかりました。検索してみると許可されていたようです。""
'$HOME/some/dir'
"$HOME/some/dir"
""
一部完全な保護を可能にしながら特殊文字を保護します''
。それでは、他のどの文字が保護さ''
れ、どの文字が保護されませんか""
?
編集:何ですか実際どのような状況でこれらの違いが重要になる可能性がありますか?
ベストアンサー1
bash のマニュアルページを確認してください。引用専用セクションがあります。これは、ここで使用されているCC-BY-SAライセンスと互換性のないGFDLに従ってライセンスされているため、内容全体を引用しませんが、実際には最も明確な答えを得るためにこれを読んでください。。
要約すると、一重引用符はすべての解釈を停止します。文字列は文字通りレンダリングされます。二重引用符は$
(ドル記号)、 `(バックティック)を特殊文字として保持し、(バックスラッシュ)の後に他の文字が続く場合は特殊文字として保持します。履歴拡張機能が有効になっている場合(デフォルト)、特別に処理されます\
。!
実際の使用では、$
シェルがほとんどのコマンドラインを難読化するのを防ぎながら、さまざまな拡張(変数など)を有効にすることが多いため、これは大きな問題です。