Következő Előző Tartalom

7. Ciklusok (for, while és until)

Ebben a részben a for, while és until ciklusokról lesz szó.

A for ciklus egy kicsit eltér a más nyelvekben megszokottaktól. Alapvetően egy sztringekben szereplő szavak halmazának feldolgozására használjuk.

A while ciklus addig ismétli a ciklusmagot, amíg a ciklusfeltétel hamissá nem válik (vagy ki nem ugrunk a ciklusmagból a break utasítással).

Az until ciklus tulajdonképpen azonos a while ciklussal, a különbség csupán annyi, hogy az ismétlés addig folytatódik, amíg a feltétel hamis.

Ha gyanús volt számodra, hogy a while és az until ciklusok mennyire hasonlók, akkor igazad volt.

7.1 Példa for ciklusra

        #!/bin/bash
        for i in $( ls ); do
            echo elem: $i
        done
        

A második sorban deklaráltunk egy "i" nevű változót, ami majd sorra felveszi a $( ls ) sztring különböző értékeit.

A harmadik sor szükség esetén méretesebb is lehet, vagy több sor is szerepelhet a ciklusmagban a done (4. sor) kulcsszó előtt.

A "done" (4. sor) jelzi, hogy a $i értéket használó kódrészlet befejeződött. Innentől kezdve a $i új értéket vehet fel.

Ennek a szkriptnek így nem sok értelme van. A for ciklus használatának egy sokkal hasznosabb módja, ha az előző példánál csak bizonyos fájlokat vizsgálunk.

7.2 C-szerű for ciklus

Fiesh tanácsára került ide ez a példa, ami egy C/Perl-szerű for ciklust mutat be.

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

7.3 While példa

         #!/bin/bash
         COUNTER=0
         while [  $COUNTER -lt 10 ]; do
             echo A számláló értéke: $COUNTER
             let COUNTER=COUNTER+1
         done
         

Ez a szkript a jól ismert "for" ciklust utánozza (C, Pascal, perl, stb.).

7.4 Until példa

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


Következő Előző Tartalom