bash shell试图执行简单计算时出现语法错误



我在第3行和第5行出现语法错误((standard_in(:语法错误(。

#!/bin/bash
i=`echo "8.8007751822"|bc`
rws = `echo "0.49237251092*$i" |bc`
rmt = `echo "0.85 * $rws"| bc`
dx  = `echo "log ($rws / 0.000001) / 720.0" | bc`;

有人能帮我吗?

几件事:

  • 分配的=周围不能有空格
  • i=`echo "8.8007751822"|bc`是一种非常复杂的写i=8.8007751822的方法
  • bc没有函数log,自然对数只有l(而l需要启用-l选项(

我会把所有东西都移到bc中,而不是多次调用它:

bc -l <<'EOF'
i = 8.8007751822
rws = i * 0.49237251092
rmt = 0.85 * rws
dx = (l(rws / 0.000001) / l(10)) / 720
dx
EOF

这将打印dx的值。

最新更新