Ebben a fejezetben megismerkedhetsz a for, while és until ciklusokkal.
A for ciklus kissé eltér a más porgramnyaelvekben megszokottól. Tulajdonképpen lépésenként végig nézheted vele egy szöveget alkotó szavakat.
A while végrehajt egy kód részletet a feltétel kifejezés teljesülése esetén, az ismételt végrehajtást csak a feltétel nem teljesülése szünteti meg (vagy a kódba beszúrt break parancs).
Az until ciklus majdnem azonos a while-lal, az eltérés hogy a kód addig hajtódik végre amíg feltétel kifejezés értéke hamis.
#!/bin/bash for i in $( ls ); do echo item: $i done
A második sorban létrehozzuk i változót a mely az $( ls ) eredményeként keletkező lista elemeit veszi fel.
A harmadik sor szükség esetén hosszabb is lehet vagy akár több sor is lehetne még a ciklus záró done (4.) előtt .
Végül a 'done' (4) előidézi a ciklus zárást, az $i utána új értéket vesz fel.
A szkript gyakorlati haszna csekély, célszerűbb megoldás a for ciklust olyan esetekben használni ahol az állományokkal több tennivaló akad.
Ez a formula tulajdonképpen egészen más, mintha csak a C/Perl for ciklust látnánk
#!/bin/bash for i in `seq 1 10`; do echo $i done
#!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo A számláló értéke $COUNTER let COUNTER=COUNTER+1 done
A szkript helyettesíti az ismert (C, Pascal, perl, etc) 'for' szerkezetet.
#!/bin/bash COUNTER=20 until [ $COUNTER -lt 10 ]; do echo COUNTER $COUNTER let COUNTER-=1 done