如何一次遍历两个数组值?我试过使用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
如果一次需要两个以上的元素,这将特别有用。