Bash loops
From wikinotes
for loop
for item in array
list=(a b c d) for ch in ${list[@]};do echo -n $ch done #> a b c dfor index in array
list=(a b c d) for i in "${!list[@]}"; do echo "$i == ${list[$i]}" donefor i in expr
for (( i=0; $i < 4; i++ )); do echo -n "$i" done #> 0 1 2 3for num in range
for i in $(seq 0 3); do echo -n "$i " done #> 0 1 2 3iterate array by two
gitcmd=( "bash" "/home/will/progs/bash" "config" "/home/will/progs/config" ) for (( i=0; $i < ${#gitcmd[@]}; i=(( $i+2 )) )); do echo ${gitcmd[$i]} done
while loop
while [ $x -le 5 ]; do echo $x x=$(( $x + 1 )) done
while read loop
This is useful for iterating over items with spaces.
find . | while read f; do echo "--$f"; done
until loop
until [ "$var1" == "2" ] ; do echo 'repeat until $var1 == 2' done