我有一些变量
VAR1 = 1
VAR2 =
VAR3 = 3
我想通过loop &
$VAR1 $VAR2 $VAR3
test -z $somevar &&美元= null somevar
完成可能最简单的方法是为每个变量分配一个默认值。如:
${VAR:=value}
如果$VAR
的值未设置或为空,则将其设置为"value"。
要回答你的代码为什么不能工作的具体问题,可能是因为你在做
$somevar=null
而不是:
somevar=null
如果你想用字符串'null'来设置变量,你可以这样做:
for somevar in VAR1 VAR2 VAR3; do
[[ -z ${!somevar} ]] && eval "${somevar}=null"
done
这是安全的。只要确保变量名是有效的。