2014-10-05 110 views
0

我是新來的bash腳本。我目前正在執行一個涉及浮點數的簡單算術問題。我知道bash本身不會用浮點整數進行算術運算。所以我使用bc計算器工具。唯一的問題是語法。我能夠得到結果,但沒有達到預期的效果。我如何分配$N_RESULTS數學運算的值?設置變量爲浮點整數值

//I get arithmetic error with this syntax 
NUM1=128.17333 
let "N_RESULTS = ($NUM1 - 1)/10 + 1" | bc -l 
echo $N_RESULTS 

_

//I get correct results if do something like this 
NUM1=128.17333 
echo "($NUM1 - 1)/10 + 1" | bc -l 
+2

整數是一組自然數(0,1,2,3,...)和負數(-1,-2,-3,...)。浮點數用尾數表示小數點位置的整數值0('尾數')和'指數'表示。 「浮點整數」這個詞是矛盾的。 – 2014-10-05 03:19:26

回答

3

試試這個:

NUM1=128.17333 
N_RESULTS=$(echo "($NUM1 - 1)/10 + 1" | bc -l) 
echo $N_RESULTS 

這是你的第二語法稍有不同。第二行使用$(command)語法將命令的輸出分配給變量。

+0

謝謝,一旦它允許我會這樣做。 – 2014-10-05 03:18:40