2013-11-21 148 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

這可能不適用於您的情況,但這是一件值得記住的事情。似乎涉及浮動的很多問題實際上只涉及有理數,因此只能使用整數來解決(通常更有效)。

相關問題