arrays - 在 Bash 中添加和列出数组元素

标签 arrays bash

我对 bash 很陌生,目前正忙于一个小项目。我试图列出每个数组(num1 和 num2)的组合分数,然后使用 C 样式循环显示输出。这是我想要的输出:

Result_1: 71
Result_2: 96
Result_3: 101
Result_4: 86
Result_5: 148

可以看到,num1数组中的第一个数字与num2数组中的第一个数字相加,形成Result_1,num1数组中的第二个数字与num2数组中的第二个数字相加,形成Result_2 .. 等等。但是,当这不是我想要的结果时,我只能获取并显示所有结果的前两个数字的总和(13 和 58 = 71)。我还希望第一个结果为“Result_1”而不是“Result_0”,但似乎也无法弄清楚这一点。这是我当前的代码:

#!/bin/bash

num1=(13 28 11 72 50)
num2=(58 68 90 14 98)
len=${#num1[*]}

for (( i=0; i<${len}; i++ ));
do
    sum=$(($num1 + $num2))
    echo "Result_"$i":" $sum
done

任何帮助将不胜感激。谢谢!

最佳答案

您只是忘记将索引链接到数组。以下循环将完成正确的工作。

for (( i=0; i<${len}; i++ ))
do
    sum=$((${num1[$i]} + ${num2[$i]}))
    echo "Result_$(($i+1)):" $sum
done

关于arrays - 在 Bash 中添加和列出数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67224059/

相关文章:

javascript - React API调用失败

Javascript - 通过带有标签的公共(public)值对对象数组进行分组

java - 打开终端/提示符并传递命令 (ping)

php - PHP exec 和 shell_exec 的问题 - Shell 脚本执行

javascript - 从 JavaScript 数组中的对象键获取值

c - 为什么灵活数组成员必须位于结构的末尾,但具有灵活数组的结构则不然?

javascript - 如何访问对象数组的属性

bash - 如何检查目录是否有子目录?

bash - 如何检查给定路径是否启用了 POSIX ACL

java - 尝试从 bash 运行BehaviorSpace 实验时出错