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