如果我们用“”定义一个变量,比如
Var="$1"
为了保护 var 免受 shell 通配符和空格的影响,我们是否必须使用带“”的 var?或者因为我们从一开始就用“”定义了 Var,所以即使我们在使用它时不使用“”,它也不会受到 shell 通配符和空格的影响?比如
${Var}
或者
"${Var}"
如果我们用“”定义一个变量,比如
Var="$1"
为了保护 var 免受 shell 通配符和空格的影响,我们是否必须使用带“”的 var?或者因为我们从一开始就用“”定义了 Var,所以即使我们在使用它时不使用“”,它也不会受到 shell 通配符和空格的影响?比如
${Var}
或者
"${Var}"
如果
$1
包含特殊字符或空格,例如,如果我们有Var="hello world"
,然后我们执行,echo $Var
它会打印它们echo
,然后var
对于字符,例如*
,Var="*"
我们执行,echo
var
它可能会列出所有目录,而不仅仅是*