If I have an array:
declare -a arr=("element1" "element2" "element3" "element4" "element5" "element6")
for i in "${arr[@]}"
do
echo "$i"
done
and only wanted to loop through the element3 to element 6, how can I specify that? Generally, if I wanted to exclude the first k elements of an array, is there a way to subset that array?
CodePudding user response:
You can write:
for i in "${arr[@]:2}"
Per the bash man page, the general syntax is:
${parameter:offset} ${parameter:offset:length}...If parameter is an indexed array name subscripted by
@or*, the result is the length members of the array beginning with${parameter[offset]}.
