Bash Die while-Schleife: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 8: Zeile 8:
 
done
 
done
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
=Hier sind die Schritte, die bei der Ausführung einer While-Schleife in Bash ablaufen=
 +
*Die Bedingung wird zuerst überprüft.
 +
*Wenn die Bedingung wahr (true) ist, wird der Codeblock innerhalb der Schleife ausgeführt.
 +
*Wenn die Bedingung falsch (false) ist, wird die Schleife übersprungen, und die Ausführung des Programms geht zum nächsten Abschnitt nach der Schleife.
  
Hier sind die Schritte, die bei der Ausführung einer While-Schleife in Bash ablaufen:
+
*Der Codeblock innerhalb der Schleife wird ausgeführt.
 +
*Dieser Code kann eine oder mehrere Anweisungen enthalten, die wiederholt werden sollen.
 +
*Du kannst Variablen aktualisieren, Berechnungen durchführen, Dateien bearbeiten oder andere Aufgaben ausführen.
  
Die Bedingung wird zuerst überprüft. Wenn die Bedingung wahr (true) ist, wird der Codeblock innerhalb der Schleife ausgeführt. Wenn die Bedingung falsch (false) ist, wird die Schleife übersprungen, und die Ausführung des Programms geht zum nächsten Abschnitt nach der Schleife.
+
*Nachdem der Codeblock ausgeführt wurde, kehrt das Programm zur Überprüfung der Bedingung zurück.  
 +
*Wenn die Bedingung immer noch wahr ist, wird der Codeblock erneut ausgeführt. #
 +
*Wenn die Bedingung falsch wird, wird die Schleife beendet, und die Ausführung des Programms wird fortgesetzt.
  
Der Codeblock innerhalb der Schleife wird ausgeführt. Dieser Code kann eine oder mehrere Anweisungen enthalten, die wiederholt werden sollen. Du kannst Variablen aktualisieren, Berechnungen durchführen, Dateien bearbeiten oder andere Aufgaben ausführen.
+
*Schritte 2 und 3 werden so lange wiederholt, wie die Bedingung wahr ist.  
 +
*Sobald die Bedingung falsch wird, wird die While-Schleife beendet, und das Programm fährt mit dem restlichen Code fort.
  
Nachdem der Codeblock ausgeführt wurde, kehrt das Programm zur Überprüfung der Bedingung zurück. Wenn die Bedingung immer noch wahr ist, wird der Codeblock erneut ausgeführt. Wenn die Bedingung falsch wird, wird die Schleife beendet, und die Ausführung des Programms wird fortgesetzt.
+
*Es ist wichtig sicherzustellen, dass der Code innerhalb der While-Schleife so gestaltet ist, dass die Bedingung irgendwann falsch wird, um eine Endlosschleife zu vermeiden.
 +
*Andernfalls könnte der Code unendlich wiederholt werden, was zu einer unerwünschten Ausführung führen würde.
  
Schritte 2 und 3 werden so lange wiederholt, wie die Bedingung wahr ist. Sobald die Bedingung falsch wird, wird die While-Schleife beendet, und das Programm fährt mit dem restlichen Code fort.
+
*Die Bedingung in einer While-Schleife kann verschiedene Ausdrücke und Vergleiche enthalten, z. B. Überprüfungen von Variablenwerten, Dateieigenschaften oder Benutzereingaben.  
 
+
*Solange die Bedingung wahr ist, wird der Codeblock wiederholt ausgeführt. Sobald die Bedingung falsch wird, wird die Schleife beendet.
Es ist wichtig sicherzustellen, dass der Code innerhalb der While-Schleife so gestaltet ist, dass die Bedingung irgendwann falsch wird, um eine Endlosschleife zu vermeiden. Andernfalls könnte der Code unendlich wiederholt werden, was zu einer unerwünschten Ausführung führen würde.
 
 
 
Die Bedingung in einer While-Schleife kann verschiedene Ausdrücke und Vergleiche enthalten, z. B. Überprüfungen von Variablenwerten, Dateieigenschaften oder Benutzereingaben. Solange die Bedingung wahr ist, wird der Codeblock wiederholt ausgeführt. Sobald die Bedingung falsch wird, wird die Schleife beendet.
 
  
 
==Einfache Form==
 
==Einfache Form==

Version vom 6. Juni 2023, 15:11 Uhr

Was ist das?

  • Die While-Schleife in Bash wird verwendet, um einen Block von Code so lange auszuführen, wie eine bestimmte Bedingung wahr ist.
  • Die grundlegende Syntax einer While-Schleife in Bash lautet:
while [ Bedingung ]
do
  # Code, der wiederholt ausgeführt werden soll
done

Hier sind die Schritte, die bei der Ausführung einer While-Schleife in Bash ablaufen

  • Die Bedingung wird zuerst überprüft.
  • Wenn die Bedingung wahr (true) ist, wird der Codeblock innerhalb der Schleife ausgeführt.
  • Wenn die Bedingung falsch (false) ist, wird die Schleife übersprungen, und die Ausführung des Programms geht zum nächsten Abschnitt nach der Schleife.
  • Der Codeblock innerhalb der Schleife wird ausgeführt.
  • Dieser Code kann eine oder mehrere Anweisungen enthalten, die wiederholt werden sollen.
  • Du kannst Variablen aktualisieren, Berechnungen durchführen, Dateien bearbeiten oder andere Aufgaben ausführen.
  • Nachdem der Codeblock ausgeführt wurde, kehrt das Programm zur Überprüfung der Bedingung zurück.
  • Wenn die Bedingung immer noch wahr ist, wird der Codeblock erneut ausgeführt. #
  • Wenn die Bedingung falsch wird, wird die Schleife beendet, und die Ausführung des Programms wird fortgesetzt.
  • Schritte 2 und 3 werden so lange wiederholt, wie die Bedingung wahr ist.
  • Sobald die Bedingung falsch wird, wird die While-Schleife beendet, und das Programm fährt mit dem restlichen Code fort.
  • Es ist wichtig sicherzustellen, dass der Code innerhalb der While-Schleife so gestaltet ist, dass die Bedingung irgendwann falsch wird, um eine Endlosschleife zu vermeiden.
  • Andernfalls könnte der Code unendlich wiederholt werden, was zu einer unerwünschten Ausführung führen würde.
  • Die Bedingung in einer While-Schleife kann verschiedene Ausdrücke und Vergleiche enthalten, z. B. Überprüfungen von Variablenwerten, Dateieigenschaften oder Benutzereingaben.
  • Solange die Bedingung wahr ist, wird der Codeblock wiederholt ausgeführt. Sobald die Bedingung falsch wird, wird die Schleife beendet.

Einfache Form

Die while-Schleife wird so lange durchlaufen, bis der Returncode ungleich null ist.

Beispiel

  • cat proggi
 #!/bin/bash
 while [ $# -ge 1 ]
 do
  echo $1
  echo $#
  shift
 done
  • ./proggi blau gelb gruen
blau
3
gelb
2
gruen
1

Darstellung als Struktogramm nach Nassi / Shneiderman:

While.jpg

Beispiel:

#!/bin/bash
COUNTER=$1
 while [ $COUNTER -ge 1 ]
  do
   echo $COUNTER
   COUNTER=$(($COUNTER-1))
 done
echo "BUMM BUMM"
  • ./countdown 5
5
4
3
2
1
BUMM BUMM

Sonderform von while

Die Variable SUX wird nacheinander mit jeder Zeile der Datei /etc/passwd belegt, bis die letzte Zeile der Datei /etc/passwd erreicht ist.

 #!/bin/bash
 while read SUX
 do
 echo $SUX
 done  <  /etc/passwd

Selbstgebautes cat

#!/bin/bash
while read ZEILE
 do
  echo $ZEILE
 done < $1

Selbstgebautes tac

#!/bin/bash
COUNT=0
while read ZEILE
 do
 FELD[$COUNT]=$ZEILE
 COUNT=$(($COUNT+1))
 done < $1
while [ $COUNT -ge 0 ]
 do
 echo ${FELD[$COUNT]}
 COUNT=$(($COUNT-1))
 done

Aufgaben