В чем разница между $var и "$var"?

В чем разница между $var и "$var"?

Возможный дубликат:
$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добросовестно печатает.

Связанный контент