在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
循环进行遍历。这样可以实现嵌套循环的效果。