如何回显数学表达式的结果并将其保存到Bash中的变量中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何回显数学表达式的结果并将其保存到Bash中的变量中相关的知识,希望对你有一定的参考价值。

我需要将以下等式回显到命令行,并保存到变量中。到目前为止,我都没有做到。

5^0.16

我试过了什么

echo 'e(l(5)*.16)' | bc -l

以及

echo 'e(l(5)*.16)' | bc -l | read wcEXP
答案

怎么样

wcExp=$(echo 'e(l(5)*.16)' | bc -l)
echo "$wcExp"
另一答案

如果使用Bash,则可以使用tee将输出复制到标准错误:

res=$(bc -l <<< 'e(l(5)*.16)' | tee /dev/stderr)

这将打印bc命令的输出,并将其存储在res中:

$ res=$(bc -l <<< 'e(l(5)*.16)' | tee /dev/stderr)
1.29370483333398597850
$ declare -p res
declare -- res="1.29370483333398597850"

以上是关于如何回显数学表达式的结果并将其保存到Bash中的变量中的主要内容,如果未能解决你的问题,请参考以下文章

如何在bash脚本中运行curl并将结果保存在变量中[重复]

从字符串评估数学表达式并将其插入堆栈

获取Symfony命令的输出并将其保存到文件中

bc 算术错误

如何在bash中替换文件中的单词

访问:如何执行查询并将其结果保存在报告中