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

时间:2020-05-04 14:10:22

标签: bash bc

我在第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`;

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

几件事:

  • 分配=周围不能有空格
  • 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的值。