具有 2 个变量的 If 语句 - Bash

具有 2 个变量的 If 语句 - Bash

我正在尝试编写一个 IF 语句,它可以同时检查两个变量。

我有两个变量,例如: $VARA $VARB

两者都包含 0 或非 0 值。我需要一个 if 语句,它可以检查两者,如果其中一个不等于 0,则执行一个操作,如果两个都为 0,则执行不同的操作。

使用单个变量,我可以这样做:

if [ $VARA -ne 0 ]
then echo 'The operation failed! VARA is not equal to 0'
else echo 'The operation suceeded! VARA is equal to 0'
fi

但是,我不知道如何同时检查 VARA 和 VARB。谢谢。

答案1

if [ "$VARA" -eq 0 ] && [ "$VARB" -eq 0 ]
then echo 'both are zero, do something'
else echo 'do something else'
fi

答案2

if (( var_a == 0 && var_b == 0 )); then
   # ...
fi

在 Bash 中,始终使用 (( ... )) 进行算术评估。

相关内容