![$varと"$var"の違いは何ですか? [コピー]](https://linux33.com/image/22079/%24var%E3%81%A8%22%24var%22%E3%81%AE%E9%81%95%E3%81%84%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
重複の可能性:
$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
。