我正在尝试编写一个 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 中,始终使用 (( ... )) 进行算术评估。