2013-11-21 112 views
0

有没有更好的方法来简化这个IF语句。我被告知这里不需要使用bc,因为这增加了大型脚本的计算和维护复杂性。有没有办法避免在这里使用bc:有没有更好的方法来简化这个IF语句

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 

,但我得到

+1

如果你在处理整数,那就不需要使用'bc'。但是'bash'不理解浮点值,所以建议不适用。 – chepner

回答

1

应对浮动点是在一开始就不使用它们的最好方法有误,预计整数表达式“!

读取变量的名称,它是一个比率。如果有任何机会,则该比例为正整数,比如a/b,然后,代替比较a/b0.9,比较10*a9*b

这可能不适用于您的情况,但这是一件值得记住的事情。似乎涉及浮动的很多问题实际上只涉及有理数,因此只能使用整数来解决(通常更有效)。

相关问题