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

时间:2018-03-18 01:51:16

标签: bash shell scripting

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

5 ^ 0.16

我尝试了什么。

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

以及

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

2 个答案:

答案 0 :(得分:5)

怎么样

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

答案 1 :(得分:2)

如果您使用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"