重複の可能性あり:
$VAR と ${VAR} および引用符を付けるかどうか
変数 var に次のように値を割り当てました。
pradeep@pradeep-laptop:~$ var="Pradeep
> is
> a good
> boy"
次に、次のように echo コマンドを発行しました。
pradeep@pradeep-laptop:~$ echo $var
Pradeep is a good boy
そして、コマンド:
pradeep@pradeep-laptop:~$ echo "$var"
Pradeep
is
a good
boy
出力に違いがある理由を知りたいです。
答え1
二重引用符()内での展開は"
行われない。フィールド分割。
ではecho $var
、 の展開は$var
二重引用符内では行われないため、分割が行われます。シェルはecho
5 つの引数、Pradeep
、is
、、で実行されます。 は、 a
すべての引数をスペースで区切って出力します。good
boy
echo
ではecho "$var"
、 の展開は$var
二重引用符内で行われるため、分割は行われません。シェルはecho
単一の引数で実行されます。
Pradeep
is
a good
boy
忠実echo
に印刷します。