until-Anweisung
Diese Anweisung ist identisch zu einer while-Schleife mit negierter Bedingung.
Als Bedingung kann nicht nur eine "klassische" Bedingung (test oder [ ])sondern selbverständlich auch der Ergebniswert eines Kommandos oder einer Kommandofolge verwendet werden.until Bedingungdo Kommandofolge done
Die Schleife wird solange abgearbeitet, bis Bedingungsausdruck einen Wert ungleich
Null liefert. Beispiele:
# warten auf Datei foo
until [ -f foo ]
do
sleep 10
done
oder Warten auf einen Benutzer:
# warten, bis sich der Benutzer hans eingeloggt hat
TT=`who | grep -c "hans"`
until [ $TT -gt 0 ]
do
sleep 10
TT=`who | grep -c "hans"`
done
# warten, bis sich der Benutzer hans eingeloggt hat
# Variante 2 - kuerzer
until [ `who | grep -c "hans"` -gt 0 ]
do
sleep 10
done
|