可能的重复:
$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
, boy
。 echo
打印其所有参数,并用空格分隔。
在 中echo "$var"
, 的扩展$var
发生在双引号内,因此它不会进行拆分。 shellecho
以单个参数运行,
Pradeep
is
a good
boy
忠实地echo
打印。