3
我想从bash中使用bc的文件中找到一堆浮点数的平均值。浮点数列表的平均数Bash
现在,当我添加使用:
let "sum=sum+${NUMBERS[$i]} | bc"
` 我得到的语法错误,当我这样做不过。在语法上,这有什么问题?
我想从bash中使用bc的文件中找到一堆浮点数的平均值。浮点数列表的平均数Bash
现在,当我添加使用:
let "sum=sum+${NUMBERS[$i]} | bc"
` 我得到的语法错误,当我这样做不过。在语法上,这有什么问题?
bc期待标准输入。由于第一个命令没有标准输出,在这种情况下,bc没有输入。试试这个:
sum=`echo $sum+${NUMBERS[$i]} | bc -l`
这有很多帮助,因为我不清楚为什么这不起作用。 bc需要标准命令的输出,比如echo,是否正确?现在我有另一个问题。为了获得平均值,我试着做average ='echo $ sum/$ NUMLEN | bc'就像你之前给我看过的那样,但是当我回显它(echo $ average | bc)时,它将小数点去掉并显示为只是一个int – gibsonfirebird12
我应该早些提到它,但是在调用bc时使用-l标志启用它的数学库。所以average = $(echo $ sum/$ NUMLEN | bc -l)会做你想做的。 “|” bash中的运算符从其左侧的命令获取输出,并将其作为输入提供给其右侧的命令。所以使用echo会将表达式输出到标准输出,然后“|”将它作为输入输入到bc中。 – entitledX
非常感谢! – gibsonfirebird12