我有一些变数
VAR1 = 1
VAR2 =
VAR3 = 3
我想通过循环和放大来调整它给那些空的那些空值。
对于$ VAR1 $ VAR2 $ VAR3
中的somevarDO
测试-z $ somevar&& $ somevar =空
完成
但它不起作用:(
答案 0 :(得分:2)
最简单的方法可能是为每个变量分配一个默认值。例如:
${VAR:=value}
这会将$VAR
的值设置为"值"如果它未设置或为空。
要回答有关您的代码无法正常运作的具体问题,可能是因为您正在进行
$somevar=null
而不是:
somevar=null
答案 1 :(得分:0)
如果你想用一个文字字符串设置变量' null'你可以这样做:
for somevar in VAR1 VAR2 VAR3; do
[[ -z ${!somevar} ]] && eval "${somevar}=null"
done
那是安全的。只需确保变量名称有效。