编辑。

编辑。

我正在编写一个脚本,我想将结果传递到bc一个变量中。我声明了 2 个变量(var1var2)并赋值。在我的脚本中,我想将结果传递到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)

相关内容