until

Aus Mikiwiki
Version vom 10. Januar 2009, 03:17 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der Shell-Befehl until erzeugt eine Schleife, die solange wiederholt wird wie eine anfangs stehende Bedingung nicht erfolgreich ist (also nicht Exit-Status 0 liefert). Die Abwicklung der Schleife wird dabei vom Exit-Status eines Befehls gesteuert.

In der Praxis wird diese Schleife beispielsweise verwendet, um immer wieder die gleiche Frage an den Benutzer zu stellen, bis er sie richtig beantwortet hat.

Syntax

Die Shell führt Befehlsliste2 nur dann aus, wenn der letzte Befehl aus Befehlsliste1 nicht Exit-Status 0 geliefert hat. Nach jedem Schleifendurchlauf führt die Shell Befehlsliste1 erneut aus.

until Befehlsliste1
  do
    Befehlsliste2
  done

Verwendung

Solange ein Fehler gefunden wird, wird der Editor vi aufgerufen. Konkret wird vi aufgerufen, solange "foo.c" leer ist - also andauernd! Achtung: Das erzeugt eine nur schwer zu beendende Endlos-Schleife!

$ until cc -c foo.c
> do
> vi foo.c
> done