To poglavje razlaga zanke for, while in until.
Zanka for se nekoliko razlikuje od takšne 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 kot while, z razliko, 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 primer).
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 'oponaša' dobro znano strukturo 'for' (C, Pascal, perl, itd.)
#!/bin/bash
STEVEC=20
until [ $STEVEC -lt 10 ]; do
echo STEVEC $STEVEC
let STEVEC-=1
done