我想在shell中执行一些数学运算。例如:
5+50*3/20 + (19*2)/7
我试过:
#!/bin/bash
read equ
echo "scale=3; $equ" | bc -l
预期输出:
17.929
我的输出:
17.928
答案1
bc 正在截断,请尝试以下操作:
printf "%.3f\n" $(echo "$equ" | bc -l)
答案2
您还可以使用perl -e "print $expr"
,
例如perl -e "print 5+50*3/20 + (19*2)/7"
输出17.9285714285714