Since bash 4.3. (3 levels, the first contains only one element for demonstration):
arr01=(0 '1 2') arr02=(4 '5 6') arr1=(arr01 arr02) arr=(arr1) declare -n elmv1 elmv2 for elmv1 in "${arr[@]}"; do for elmv2 in "${elmv1[@]}"; do for elm in "${elmv2[@]}"; do echo "<$elm>" done done done
Up to 4.3
arr01=(0 '1 2') arr02=(4 '5 6') arr1=('arr01[@]' 'arr02[@]') arr=('arr1[@]') for elmv1 in "${arr[@]}"; do for elmv2 in "${!elmv1}"; do for elm in "${!elmv2}"; do echo "<$elm>" done done done
Nahuel Fouilleul Jun 29 '17 at 17:05 2017-06-29 17:05
source share