2014-10-05 111 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