Bash,算术表达式+ bc

时间:2015-08-02 08:23:59

标签: bash unix bc

我在unix中使用bc命令时遇到小问题。我有两个变量: variable1,variable2。算术表达式如下:

res=$$((($variable1*10)/$variable2)

我想从两个分开的数字四舍五入。我认为,最好的解决方案是使用bc -l命令+ scale=X,但不起作用。

res=$$(((echo "scale=2; $variable1*10)/$variable2" | bc -l)

我想得到更准确的结果。现在,好吧,我有:

res = 10

但应该是

res = 9.23

1 个答案:

答案 0 :(得分:2)

您目前拥有的内容不会仅仅因为bc表达式中的括号不平衡而无法正常工作。此外,您似乎还有方式更多$()个字符。

没有这些缺陷,它可以正常工作:

pax> num=923
pax> den=1000
pax> res=$(echo "scale=2; $num * 10 / $den" | bc -l)
pax> echo $res
9.23