重複の可能性:
$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
。