To poglavje razlaga zanke for, while in until.
Zanka for se nekoliko razlikuje od take zanke v drugih programskih jezikih. Omogoča vam zanko, ki se ponovi za vsako 'besedo' v določenem nizu.
While ponavlja ukaze, dokler je nadzorni izraz ovrednoten kot resničen; ustavi se, ko postane izraz neresničen, oziroma ko naleti na ukaz za prekinitev zanke.
Zanka until deluje skoraj enako kakor while, le da se ukazi izvajajo, dokler je nadzorni izraz ovrednoten kot neresničen.
#!/bin/bash for i in $( ls ); do echo beseda: $i done
V drugi vrstici deklariramo spremenljivko i, kateri bomo pripisali različne vrednosti iz $( ls ).
Tretja vrstica bi bila po potrebi lahko tudi daljša, oziroma bi se pred 'done' (4) lahko zvrstilo več ukazov.
'done' (4) pove, da je ukazov, ki so uporabljali $i, konec in da lahko $i pripišemo novo vrednost.
Ta skript sicer ne počne ničesar koristnega, lahko pa bi mu na primer naročili, naj izpiše le določene datoteke (glej prejšnji zgled).
Ta zanka je bolj podobna zanki for v C/perl.
#!/bin/bash for i in `seq 1 10`; do echo $i done
#!/bin/bash STEVEC=0 while [ $STEVEC -lt 10 ]; do echo Stevec kaze $STEVEC let STEVEC=STEVEC+1 done
Ta skript 'posnema' dobro znano strukturo 'for' (C, pascal, perl itd.)
#!/bin/bash STEVEC=20 until [ $STEVEC -lt 10 ]; do echo STEVEC $STEVEC let STEVEC-=1 done