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

问题描述 投票:2回答:1

我试图在两个子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'不能像那样工作,我很困惑。请帮助。

linux bash if-statement
1个回答
2
投票

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

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

在处理整数时,((...))是一个更好的构造。 $((...))表达式内可变扩展的可选项。


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

© www.soinside.com 2019 - 2024. All rights reserved.