until: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
(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...)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
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 dabei vom Exit-Status eines Befehls gesteuert.
Der [[Shell-Befehl]] <b>until</b> erzeugt eine [[Schleife]], die solange wiederholt wird wie eine anfangs stehende Bedingung <i>nicht</i> 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.

Version vom 10. Januar 2009, 03:15 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