Bash for Schleife: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 71: Zeile 71:
 
  #!/bin/bash
 
  #!/bin/bash
 
  for ((I=1;I<5;I++))
 
  for ((I=1;I<5;I++))
do
+
  do
echo $I
+
  echo $I
 
  done
 
  done
 
</syntaxhighlight>
 
</syntaxhighlight>

Version vom 6. Juni 2024, 08:20 Uhr

Die for-Schleife

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