在执行操作时将值分配给变量?[复制]

Assignment of values to variables while performing operations? [duplicate]

提问人:Viswa 提问时间:10/6/2018 更新时间:10/6/2018 访问量:129

问:

谁能告诉我我应该如何在 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 吗?

谢谢。

bash shell 变量 assign 赋值运算符

评论


答:

0赞 John Kugelman #1
c=$(bc -l <<< "sqrt($a)")

c=$(echo "sqrt($a)" | bc -l)
0赞 HackerBoss 10/6/2018 #2

您想获取第一个字符串并通过将结果放入 中来通过管道传输。以下作品(如约翰·库格尔曼(John Kugelman)所述):bcc

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