until
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