可能的重複:
$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
列印。