一次遍历两个数组值



如何一次遍历两个数组值?我试过使用for循环,但我只能弄清楚如何一次回显一个。

#!/bin/bash
array=(value1 value2 value3 value4 value5 value6 value7 value8 value9 value10)
for i in ${array[@]}
do
echo $i
done

是否有一种方法可以改变for循环,它将在一次回显两个值,如下所示?

value1 value2
value3 value4
value5 value6
value7 value8
value9 value10

遍历索引将比遍历元素更容易。您可以通过索引提取这两个元素:

for ((i = 0; i < ${#array[@]}; i += 2)); do
echo "${array[i+0]} ${array[i+1]}"
done

或者您可以使用语法${variable[@]:offset:length}:

提取数组切片
for ((i = 0; i < ${#array[@]}; i += 2)); do
echo "${array[@]:i:2}"
done

如果一次需要两个以上的元素,这将特别有用。

相关内容

  • 没有找到相关文章

最新更新