Springe zum Hauptinhalt

Bourne
next up previous contents
Next: shift-Kommando Up: Ablaufsteuerung Previous: for-Kommando

while-Kommando

  • Beispiel:
    #!/bin/sh
    #
    # Warten, bis <file> nicht mehr existiert
    #
    # Aufruf: $0 <file>
    #
    
    if [ $# != 1 ]
    then
        echo "Aufruf: warte <filename>"
        exit 1
    fi
    while [ -r $1 ]
    do sleep 5
    done
    
    
  • allgemeine Form der while-Konstruktion:


    while cmd_liste_1

    do

        cmd_liste_2

    done


    Solange der Exit-Status von cmd_liste_1 gleich 0 ist, wird die cmd_liste_2 abgearbeitet.

  • Beispiel:
    #!/bin/sh
    #
    #  Statistik der angemeldeten Nutzer im File <file>
    #
    # Aufruf: nustat <file>
    #
    if [ $# = 0 ]
    then echo "Aufruf: nustat <filename>"
    else
         while sleep 300
         do
               date >> $1
               who >> $1
         done
    fi
    
    
  • Bemerkungen:

    Ausführung im Hintergrund sinnvoll:


    $ nustat statistik &

  • Programm bricht nicht von selbst ab, d.h.  expliziter Abbruch (kill-Kommando bzw. CRTL-C im Vordergrund) notwendig