fx() { i=0 for (( ; i < 3; i++ )) do echo $i done for (( i=0; ; i++ )) do if (( i >= 3 )); then break; fi echo $i done for (( i=0; i<3; )) do echo $i (( i++ )) done i=0 for (( ; ; )) do if (( i > 2 )); then break; fi echo $i; (( i++ )) done i=0 for ((;;)) do if (( i > 2 )); then break; fi echo $i; (( i++ )) done } for (( i=0; "i < 3" ; i++ )) do echo $i done i=0 for (( ; "i < 3"; i++ )) do echo $i done for (( i=0; ; i++ )) do if (( i >= 3 )); then break; fi echo $i done for ((i = 0; ;i++ )) do echo $i if (( i < 3 )); then (( i++ )) continue; fi break done type fx fx # errors for (( i=0; "i < 3" )) do echo $i done echo $? for (( i=0; i < 3; i++; 7 )) do echo $i done echo $? # one-liners added in post-bash-2.04 for ((i=0; i < 20; i++)) do : ; done echo $i for ((i=0; i < 20; i++)) { : ; } echo $i