[Bash] 変数をダブルクォートで囲む理由
作成日: 2026年09月17日
Bash では、変数をダブルクォートで囲まないと、空白を含む値が複数の引数に分割されることがあります。
例えば、次のコードでは hello world が 2 つの引数として扱われます。
value="hello world"
printf '<%s>\n' $value
実行結果です。
<hello>
<world>
変数をダブルクォートで囲むと、空白を含む値を 1 つの引数として扱えます。
value="hello world"
printf '<%s>\n' "$value"
実行結果です。
<hello world>
特別な理由がない限り、変数をコマンドの引数として渡すときは "$value" のようにダブルクォートで囲むと、意図しない単語分割やパス名展開を防ぐことができます。