我需要编写一个脚本来查找圆的半径,然后在给出圆周时找到该区域
#!/bin/bash
echo -n "Enter the circumference: "
read CIRC
PI=3.14
let RAD=$(($CIRC/((2*$PI )) ))
let AREA=$PI * $RAD * $RAD
echo "The area of a circle is: "$AREA""
公式是: RADIUS = CIRCUMFERENCE /(2 * PI) 问题是我不能使这个公式工作,因为bash不接受十进制除法 我在那里读了很多答案,但仍然无法得到我想要的东西
我有类似
的东西let RAD=$(($CIRC/((2*$PI )) ))
尝试了很多不同的变种,使用了bc -l 但仍然无法正确行事并且始终存在错误
答案 0 :(得分:1)
echo -n "Enter the circumference: "
read CIRC
PI=3.14
RAD=`bc -l <<< "$CIRC/(2*$PI)"`
echo $RAD
AREA=`bc -l <<< "$PI*$RAD*$RAD"`
echo "The area of a circle is: "$AREA""
答案 1 :(得分:0)
试试这个;
#!/bin/bash
echo -n "Enter the circumference: "
read CIRC
PI=3.14
RAD=$(echo $CIRC \/ \(2\*$PI\)| bc -l)
AREA=$(echo $PI \* $RAD \* $RAD| bc -l)
echo "The area of a circle is: "$AREA""
答案 2 :(得分:0)
awk
的替代解决方案;
#!/bin/bash
echo -n "Enter the circumference: "
read CIRC
awk -v CIRC=$CIRC " BEGIN { PI=3.14; RAD=CIRC/(2*PI); AREA=PI*RAD*RAD; print \"The area of a circle is: \",AREA}"