Bash Die for-Schleife: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 85: Zeile 85:
 
  3
 
  3
 
  4
 
  4
 +
=Passwortgenerator=
 +
*[[pw-gen-bash-normal]]
 +
*[[pw-gen-bash-function]]
 +
 
=Aufgaben=
 
=Aufgaben=
 
*[[Aufgaben Bash for]]
 
*[[Aufgaben Bash for]]

Aktuelle Version vom 7. Juni 2023, 13:21 Uhr

Was ist das?

  • Das "for"-Statement in Bash ermöglicht die wiederholte Ausführung von Code für eine vordefinierte Anzahl von Elementen oder Werten.
  • Die Syntax des "for"-Statements besteht aus dem Schlüsselwort "for", gefolgt von einer Variablen, die die Werte durchläuft, und dem Schlüsselwort "in", gefolgt von einer Liste oder einem Bereich von Werten.
  • Der Codeblock, der für jeden Wert ausgeführt werden soll, wird durch "do" eingeleitet und durch "done" beendet.
  • Während der Ausführung des "for"-Statements wird der Codeblock für jeden Wert in der Liste durchlaufen.
  • Die Variable kann innerhalb des Codeblocks verwendet werden, um auf den aktuellen Wert zuzugreifen.
  • Das "for"-Statement ist nützlich, um wiederholte Aktionen auf eine bestimmte Menge von Elementen oder Werten anzuwenden, wie zum Beispiel das Durchlaufen einer Dateiliste oder das Ausführen eines Befehls für eine bestimmte Anzahl von Iterationen.

Standard For Schleife

  • Bei der for-Schleife wird bei jedem Durchlauf der Schleifenvariablen ein Wert aus einer angegebenen Liste zugewiesen
  • Die Liste wird dabei von links nach rechts durchlaufen. Nach der letzten Wertzuweisung terminiert die

for-Schleife

  • cat fussball
 #!/bin/bash
 for CLUB in fck bvb schalke bmg
  do
   echo $CLUB
 done
  • ./fussball
fck
bvb
schalke
bmg

Darstellung als Struktogramm nach Nassi / Shneiderman:

For.jpg

For Schleife mit Stellungsparametern

Wird keine Liste angegeben, wird standardmäßig die Liste der Stellungsoperanden benutzt. Folgende Anweisungen sind äquivalent

#!/bin/bash
for LAUF in $*
 do
  echo $LAUF
 done

Kurzform :

for LAUF 
 do
  echo $LAUF
 done

For Schleife mit Dateien aus dem aktuellen Verzeichnis

Der Stern würde durch alle Dateien des aktuellen Verzeichnisses ersetzt werden. Daraus folgt, dass der Name jeder Datei nacheinander in die Variable LAUF geschreiben wird. Die Anzahl der Schleifenläufe ist identisch mit der Anzahl von Dateien.

 
#!/bin/bash
for LAUF in *
do
 echo $LAUF
done

Hier die Variante mit einem grossen K

#!/bin/bash
for LAUF in K*
do
 echo $LAUF
done

For Schleife im C Stil

Mit Bash-Version 2.0.4 wurde die for-Schleife um eine an die Programmier-sprache C angelehnte Syntaxvariante erweitert:

for ((Initialisierung der Laufvaribale; Laufbedingung; Veränderung der Laufvariable))
do 
Kommando
done 
  • cat foor
 #!/bin/bash
 for ((I=1;I<5;I++))
 do
 echo $I
 done
  • ./foor
1
2
3
4

Passwortgenerator

Aufgaben