until: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) (New page: Die <b>until</b>-Schleife wird wiederholt, solange eine anfangs stehende Bedingung <i>nicht</i> erfolgreich ist (also nicht Exit-Status 0 liefert). Die Abwicklung der Schleife wird dab...) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Der [[Shell-Befehl]] <b>until</b> 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. | 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. | ||
Zeile 5: | Zeile 5: | ||
== Syntax == | == Syntax == | ||
Die Shell führt <i>Befehlsliste2</i> nur dann aus, wenn der letzte Befehl aus <i>Befehlsliste1</i | Die Shell führt <i>Befehlsliste2</i> nur dann aus, wenn der letzte Befehl aus <i>Befehlsliste1</i> nicht Exit-Status 0 geliefert hat. Nach jedem Schleifendurchlauf führt die Shell <i>Befehlsliste1</i> erneut aus. | ||
until <i>Befehlsliste1</i> | until <i>Befehlsliste1</i> |
Aktuelle Version vom 10. Januar 2009, 03:17 Uhr
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