我正在尝试检查多个变量并查看其中是否有任何变量为零,我想出了以下内容:
if [[ -z $var1 ]] || [[ -z $var2 ]] || [[ -z $var3 ]] || [[ -z $var4 ]] || [[ -z $var5 ]] || [[ -z $var6 ]] || [[ -z $var7 ]] || [[ -z $var8 ]]; then
echo GOOD
fi
这样可行,但除此之外还有其他任何可靠的选择吗?
答案 0 :(得分:2)
你可以松开一些括号,如下所示:
if [[ -z $var1 || -z $var2 || -z $var3 || -z $var4 || -z $var5 || -z $var6 || -z $var7 || -z $var8 ]] ; then
echo GOOD
fi
或者,正如Charles Duffy在评论中建议的那样,你可以改变这种情况并最终得到更短的东西:
if ! [[ $var1 && $var2 && $var3 && $var4 && $var5 && $var6 && $var7 && $var8 ]] ; then
echo GOOD
fi