$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不会发生在双引号内,因此它确实会发生拆分。 shellecho使用 5 个参数运行:Pradeep, is, a, good, boyecho打印其所有参数,并用空格分隔。

在 中echo "$var", 的扩展$var发生在双引号内,因此它不会进行拆分。 shellecho以单个参数运行,

Pradeep
is
a good
boy

忠实地echo打印。

相关内容