<分区>
以下是将空变量替换为单引号的脚本。如果变量不为空,那么我们就有了正确的替换。
$ set -x; aa=""; bb=`curl "$aa" -vvv`; set +x
+ aa=
++ curl '' -vvv
需要注意的是用单引号代替了空变量。
当变量不为空时,一切正常,如下所示:
$ set -x; aa="google.com"; bb=`curl "$aa" -vvv`; set +x
+ aa=google.com
++ curl google.com -vvv
Q1:为什么空变量或者带空格的变量会引入单引号? Q2:如何防止单引号代替空变量?
现在,我可以删除双引号,一切正常,但我需要保留空格(如果有的话)。
谢谢。