有没有更好的方法来简化这个IF语句

时间:2013-11-21 21:22:03

标签: linux bash shell if-statement bc

是否有更好的方法来简化此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

但我收到错误'期望的整数表达式'

1 个答案:

答案 0 :(得分:1)

处理浮点数的最佳方法是首先不要使用浮点数!

读取变量的名称,这是一个比例。如果有可能,这个比率是正整数的比率,比如a/b,那么,不要将a/b0.9进行比较,而是比较{{1}与10*a

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