在我现在写的脚本中,我需要一些十进制计算,所以我决定使用bc
. 我不熟悉这个工具,所以如果问题是微不足道的,请原谅我。
当我使用控制台并输入:
设置 r_m=`echo "scale=6; $pd_f*$d_f*(1/sqrt(3))+($fr_numb-1)*($pd_f*$d_f*(1/sqrt(3))+$pd_f *$d_f*0.5*(s(3.14159265*30/180)/c(3.14159265*30/180)))+0.4"|bc -l`
然后echo "$r_m"
它给了我:
19.849870
($pd_f 和 $d_f 之前分别声明为 1.129 和 1.126,哦和 $fr_numb=18)
但是(!)在 bash 脚本中使用相同的行:
r_m=`echo "scale=6; $pd_f*$d_f*(1/sqrt(3))+($fr_numb-1)*($pd_f*$d_f*(1/sqrt(3))+$pd_f* $d_f*0.5*(s(3.14159265*30/180)/c(3.14159265*30/180)))+0.4"|bc -l`
给我:
.033022
为什么?
更新我将所有内容都=
用反引号括起来。我之前不知道如何在 blockquote 中使用它们。
外壳是 bash 2.05