如何在 bash 中打印用户输入的平方根?

Zer*_*729 5 bash

我最近在 bash 中发现了“bc”,我一直在尝试用它来打印用户输入的平方根。我在下面编写的程序运行成功,但它只打印出“0”而不是用户输入的平方根。

这是我写的代码:

 #!/data/data/com.termux/files/usr/bin/bash

 echo "input value below"
 read VAR
 echo "square root of $VAR is..."

 echo $((a))                                  
 a=$(bc <<< "scale=0; sqrt(($VAR))")
Run Code Online (Sandbox Code Playgroud)

我的代码有什么问题?我错过了什么?

hee*_*ayl 7

您的bc命令和命令替换的使用是正确的,问题是您提供了echo $a较早的时间,但未设置。做:

a=$(bc <<< "scale=0; sqrt($VAR)")
echo "$a"
Run Code Online (Sandbox Code Playgroud)

此外,在扩展变量时,您应该使用变量扩展的常用符号,即$var${var}。我还()sqrt().