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

Syntax error on bash shell trying to perform a simple calculation

我在第 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 的值。