Naprej Nazaj Kazalo

7. Zanke for, while in until

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.

7.1 Zgled zanke for

#!/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).

7.2 Zanka for kot v programskem jeziku C

Ta zanka je bolj podobna zanki for v C/perl.

#!/bin/bash
for i in `seq 1 10`;
do
    echo $i
done

7.3 Zgled zanke while

#!/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.)

7.4 Zgled zanke until

#!/bin/bash
STEVEC=20
until [ $STEVEC -lt 10 ]; do
    echo STEVEC $STEVEC
    let STEVEC-=1
done

Naprej Nazaj Kazalo