linux - 有没有一种简单的方法可以在一组具有值的变量中找到最低和最高数字? (Bash 脚本) (Linux)

标签 linux bash ubuntu

#!/usr/bin/bash
for i in {1..10}
do
      read integer”$i”
done
sum=$((integer1+integer2+integer3+integer4+integer5+integer6+integer7+integer8+integer9+integer10))
echo Sum is $sum
我不知道如何找到 10 个变量中的最高/最低并输出它们。

最佳答案

就像在任何编程语言中一样,即时计算总和、最大值和最小值。并且更喜欢使用更方便的索引数组来存储整数(使用 ${integer[1]}, ${integer[2]},... 访问它们的值):

#!/usr/bin/bash
declare -ai integer=()
declare -i max min sum
for i in {1..10}; do
  read integer[i]
  if (( i == 1 )); then
    max="${integer[i]}"
    min="${integer[i]}"
    sum="${integer[i]}"
  else
    (( max = integer[i] > max ? integer[i] : max ))
    (( min = integer[i] < min ? integer[i] : min ))
    (( sum += integer[i] ))
  fi
done
printf 'max is %d\n' "$max"
printf 'min is %d\n' "$min"
printf 'sum is %d\n' "$sum"

关于linux - 有没有一种简单的方法可以在一组具有值的变量中找到最低和最高数字? (Bash 脚本) (Linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72082214/

相关文章:

linux - linux下如何控制虚拟内存管理?

linux - Perl - 在 Padre、Windows 中运行的脚本。但不是在 Linux Ubuntu 中

bash - 从所有目录中删除 .svn 文件

regex - 如何使用 grep/egrep 在文件中查找重复的单词?

C++二维 vector 导致缓冲区溢出

linux - 使用单个请求获取 haproxy 两次日志

bash - 将 url 传递给 bash 脚本以在 scp 中使用

php - 简单的 PHP 问题,我敢肯定

python - python OpenCV 中 mp4 视频的编解码器是什么

在特定 NUMA 节点上创建命名共享内存?