在执行操作时将值分配给变量?

时间:2018-10-05 16:52:46

标签: bash shell variable-assignment assign assignment-operator

有人可以告诉我如何将数字平方根的值分配给Bash中的变量吗?

这是我的代码。

#!/bin/bash
a=5
c=sqrt"($a)"|bc -l
echo "$c"

执行后,什么都不显示

但是,我发现执行以下命令后,

#!/bin/bash
a=5
echo sqrt"($a)"|bc -l

我得到答案

2.23606797749978969640

有人可以告诉我如何将a的平方根绑定到c吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

c=$(bc -l <<< "sqrt($a)")

c=$(echo "sqrt($a)" | bc -l)

答案 1 :(得分:0)

您要获取第一个字符串并将其通过bc传递给c。以下工作(如John Kugelman所述):

#!/bin/bash
a=5
c=$(echo sqrt"($a)" | bc -l)
echo "$c"