In deze sectie tref je for, while en until loops aan.
De for loop werkt iets anders dan in andere programmeertalen. Eigenlijk laat het je een serie 'woorden' binnen een string herhalen.
De while voert een stuk code uit als de controlerende expressie true oplevert, en stopt alleen wanneer het false is (of als er binnen de uitgevoerde code een expliciete break werd gevonden).
De until loop is bijna gelijk aan de while loop behalve dat de code wordt uitgevoerd terwijl de controlerende expressie de waarde false oplevert.
Als je het vermoeden hebt dat while en until erg op elkaar lijken, heb je gelijk.
#!/bin/bash
for i in $( ls ); do
echo item: $i
done
In de tweede regel, declareren we i als variabele voor de verschillende waarden in $( ls ).
De derde regel zou zonodig langer kunnen zijn, of er zouden meer regels voor kunnen komen voor de done (4).
`done' (4) geeft aan dat de code die de waarde van $i gebruikte beëindigd is en $i een nieuwe waarde aan kan nemen.
Dit script heeft weinig nut, en een nuttiger wijze om gebruik te maken van de for loop zou zijn het in het voorgaande voorbeeld te gebruiken waarbij slechts bepaalde bestanden overeenkomen.
fiesh raadde het toevoegen van deze vorm van een loop aan. Het is een for loop meer vergelijkbaar met die van C/perl...
#!/bin/bash
for i in `seq 1 10`;
do
echo $i
done
#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo De teller is $COUNTER
let COUNTER=COUNTER+1
done
Dit script 'emuleert' de welbekende (C, Pascal, perl, enz) 'for' structuur
#!/bin/bash
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done