$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列印。

相關內容