是否有更好的方法来简化此IF语句。我被告知这里不需要使用bc,因为这会增加大型脚本的计算和维护复杂性。有没有办法避免在这里使用bc:
if [ `bc -l <<< "$AUTO_INCREMENT_RATIO>=0.9"` -eq 1 ]
then
<DO SOMETHING HERE>
fi
谢谢!
我正在尝试像
这样的东西if [ $AUTO_INCREMENT_RATIO>=0.9 -eq 1 ]; then <DO SOMETHING HERE>; fi
但我收到错误'期望的整数表达式'
答案 0 :(得分:1)
处理浮点数的最佳方法是首先不要使用浮点数!
读取变量的名称,这是一个比例。如果有可能,这个比率是正整数的比率,比如a/b
,那么,不要将a/b
与0.9
进行比较,而是比较{{1}与10*a
。
这可能不适用于您的情况,但这是一件值得记住的好事。许多似乎涉及浮点数的问题,实际上只涉及有理数,因此只能使用整数来解决(通常更有效)。