Bash for Schleife: Unterschied zwischen den Versionen
| Zeile 44: | Zeile 44: | ||
Daraus folgt, dass der Name jeder Datei nacheinander in die Variable LAUF geschreiben wird. Die Anzahl der Schleifenläufe | 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. | ist identisch mit der Anzahl von Dateien. | ||
| − | <syntaxhighlight> | + | <syntaxhighlight lang=bash> |
#!/bin/bash | #!/bin/bash | ||
for LAUF in * | for LAUF in * | ||
| Zeile 52: | Zeile 52: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Hier die Variante mit einem grossen K | Hier die Variante mit einem grossen K | ||
| − | <syntaxhighlight> | + | <syntaxhighlight lang=bash> |
#!/bin/bash | #!/bin/bash | ||
for LAUF in K* | for LAUF in K* | ||
| Zeile 59: | Zeile 59: | ||
done | done | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | |||
==For Schleife im C Stil== | ==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: | Mit Bash-Version 2.0.4 wurde die for-Schleife um eine an die Programmier-sprache C angelehnte Syntaxvariante erweitert: | ||
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 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
