Bash-计算输入数字的平均值 [英] Bash - Calculate the Average of Numbers Inputted

查看:15
本文介绍了Bash-计算输入数字的平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要有关Linux Bash脚本的帮助。基本上,当运行时,该脚本要求用户提供三组数字,然后计算输入的数字并求出平均值。

#!/bin/bash
echo "Enter a number: "
read a
   while [ "$a" = $ ]; do

echo "Enter a second set of numbers: "
read b
b=$
   if [ b=$ ]

我说错了吗?

推荐答案

仍然不确定您想要的是什么。但我想你可以只绕三圈。然后,每一次迭代都会得到一组数字,然后将它们相加,并跟踪您有多少个数字。所以类似于下面的内容。(注意$Numbers和$sum会自动初始化为0)

#!/bin/bash    
sum=0
numbers=0
for a in {1..3}; do
  read -p $'Enter a set of numbers:
' b
  for j in $b; do
    [[ $j =~ ^[0-9]+$ ]] || { echo "$j is not a number" >&2 && exit 1; } 
    ((numbers+=1)) && ((sum+=j))
  done
done

((numbers==0)) && avg=0 || avg=$(echo "$sum / $numbers" | bc -l)
echo "Sum of inputs = $sum"
echo "Number of inputs = $numbers"
printf "Average input = %.2f
" $avg                               

示例输出的位置

Enter a set of numbers: 
1 2 3
Enter a set of numbers: 
1 2 3
Enter a set of numbers: 
7
Sum of inputs = 19
Number of inputs = 7
Average input = 2.71

这篇关于Bash-计算输入数字的平均值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆