sha*_*lin 16 bash scripts environment-variables bc
我正在编写一个脚本,我想将结果传递给bc一个变量。我已经声明了 2 个变量 ( var1and var2) 并给了它们值。在我的脚本中,我想将结果传递bc到另一个变量 say 中,var3以便我可以var3进行其他计算。到目前为止,我已经能够将结果写入一个不是我正在寻找的文件中,并且我已经能够在终端中回显结果,但我现在只想将结果传递给一个变量,以便我可以使用该变量。
echo "scale=2;$var1/var2" | bc
Run Code Online (Sandbox Code Playgroud)
gni*_*urf 26
如果您使用的是 bash,则最好使用 here 字符串而不是管道,如下所示:
bc <<< "scale=2;$var1/$var2"
Run Code Online (Sandbox Code Playgroud)
这将为您节省一个子shell。
然后,要存储命令的输出,请使用命令替换:
answer=$(bc <<< "scale=2;$var1/$var2")
Run Code Online (Sandbox Code Playgroud)
如果你想要比 更酷的东西bc,这里是 dc(反向抛光计算器):
answer=$(dc <<< "2k $var1 $var2/p")
Run Code Online (Sandbox Code Playgroud)