r=15
phi=3.14
d=30
let area=$r*$r*phi
echo $area
let radius=2*$phi*$d
echo $radius
当我运行代码时,显示错误“语法错误:无效算术运算符(错误标记为“.14”)。我在谷歌上搜索了与此问题相关的内容。解决方案使用 bc(bash 计算器)。我的问题是还有其他解决方案吗?
第二个条件我更改为 phi 的 22/7。但半径结果不如预期 面积计算正确 707 但半径应该是 188 而不是 180。
谢谢
最佳答案
我会使用 awk
:
circum=$(awk 'BEGIN{print 3.14159*30}')
echo $circum
94.2477
或者,如果您同时想要周长和面积:
read circum area < <(awk 'BEGIN{pi=3.14159;r=15;print 2*pi*r,pi*r*r}')
echo $circum $area
94.2477 706.858
或者bc
:
circum=$(bc <<< "3.14159*30")
echo $circum
94.24770
或者使用 bc
将两者结合起来:
{ read circum; read area;} < <(bc <<< "3.14159*30; 3.14159*15*15")
echo $circum $area
94.24770 706.85775
要了解所有 shell 语法和 jiggery-pokery,请单独运行以下两个命令以查看它们产生的结果:
awk 'BEGIN{pi=3.14159;r=15;print 2*pi*r,pi*r*r}'
bc <<< "3.14159*30; 3.14159*15*15"
关于linux - 使用bash脚本计算圆的面积和半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41138175/