用bash中的变量划分多个数字

问题描述 投票:1回答:1

如果用户输入圆周,我需要计算圆的面积。这就是我所拥有的,但它不起作用:

let radius=$circumference/(2*3.1415) 

let area=3.1415*$radius*$radius
bash floating-point integer
1个回答
2
投票

正如评论指出的那样,bash不会做浮动。我会尝试一个简单的echo+bc解决方案,但你也可以使用awk和其他人。

radius=$(echo $circumference/\(2*3.1415\) | bc -l)

area=$(echo 3.1415*$radius*$radius | bc -l)

不优雅或特别便携,但它的工作原理。

编辑:我创建了一个test.sh文件:

#!/bin/bash

circumference=4

radius=$(echo $circumference/\(2*3.1415\) | bc -l)

area=$(echo 3.1415*$radius*$radius | bc -l)

echo $radius $area

当我在终端上做bash test.sh时,我得到:

.63663854846410950183 1.27327709692821900365
© www.soinside.com 2019 - 2024. All rights reserved.