在Linux中,foreach
循环本身不支持嵌套
例如,假设你有一个名为my_list
的列表,其中包含多个子列表。你可以使用以下脚本来遍历这些子列表:
#!/bin/bash
my_list=( "item1" "item2" "item3" )
sub_list1=("sub_item1_1" "sub_item1_2")
sub_list2=("sub_item2_1" "sub_item2_2")
sub_list3=("sub_item3_1" "sub_item3_2")
index=0
while [ $index -lt ${#my_list[@]} ]; do
echo "Processing main list item $index: ${my_list[$index]}"
sub_index=0
while [ $sub_index -lt ${#my_list[$index]} ]; do
echo " Processing sub-list item $sub_index: ${my_list[$index][$sub_index]}"
sub_index=$((sub_index + 1))
done
index=$((index + 1))
done
这个脚本首先遍历my_list
中的每个元素,然后在每个子列表上使用另一个while
循环进行遍历。这样可以实现嵌套循环的效果。