如果在Bash中使用整数条件,则执行复合时出错

时间:2017-12-23 04:18:08

标签: linux bash if-statement

我试图在两个子AND条件之间执行OR运算,如下所示。

elif [[ $RBIT >= 7000.00 && $RBIT <= 15000.00 ]] || [[ $TBIT >= 7000.00 && $TBIT <= 15000.00 ]]; then
echo #statements;
exit 0;
fi

但错误地说。

/script: line 20: syntax error in conditional expression
/script: line 20: syntax error near `7000.00'
/script: line 20: `elif [[ $RBIT >= 7000.00 && $RBIT <= 15000.00 ]] || [[ $TBIT >= 7000.00 && $TBIT <= 15000.00 ]]; then'

当然,变量RBIT和TBIT的浮点值有2个小数点。

如果我在这里引起语法错误或'if condition'不能像那样工作,我很困惑。请帮助。

1 个答案:

答案 0 :(得分:2)

Bash仅支持整数数学。所以,你可以改写你的条件:

elif ((RBIT >= 7000 && RBIT <= 15000)) || ((TBIT >= 7000 && TBIT <= 15000)); then

在处理整数时,((...))是一个更好的构造。并且$对于((...))表达式中的变量扩展是可选的。

您可能希望看到相关的帖子: