我正在编写一个脚本,我想将结果传递到bc
一个变量中。我声明了 2 个变量(var1
和var2
)并赋值。在我的脚本中,我想将结果传递到bc
另一个变量中,var3
这样我就可以用它来进行var3
其他计算。到目前为止,我已经能够将结果写入一个文件,这不是我想要的,我也能够在终端中回显结果,但我只是想将结果传递给一个变量,这样我就可以使用该变量。
echo "scale=2;$var1/var2" | bc
答案1
如果您使用 bash,则最好使用此处的字符串而不是管道,如下所示:
bc <<< "scale=2;$var1/$var2"
这将为你保存一个子 shell。
然后,要存储命令的输出,请使用命令替换:
answer=$(bc <<< "scale=2;$var1/$var2")
编辑。
如果你想要比 更酷的东西bc
,这里有 dc (逆波兰计算器):
answer=$(dc <<< "2k $var1 $var2/p")
答案2
命令替换将命令的输出存储到变量中。
var3=$(echo "scale=2;$var1/$var2" | bc)