For
Version vom 17. Oktober 2025, 15:27 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= for-Schleifen = *Die for-Schleife in der Bash dient zur wiederholten Ausführung von Befehlen für eine Liste, eine Befehlsausgabe oder einen Zahlenbereich.…“)
for-Schleifen
- Die for-Schleife in der Bash dient zur wiederholten Ausführung von Befehlen für eine Liste, eine Befehlsausgabe oder einen Zahlenbereich.*
- Sie ist besonders nützlich, wenn eine bekannte Anzahl von Elementen durchlaufen werden soll.*
Grundprinzip
- Die for-Schleife weist einer Variablen nacheinander jeden Wert aus einer Liste zu und führt für jeden Wert den Schleifenrumpf aus.*
Allgemeine Syntax
for VARIABLE in Liste do Befehle done
Beispiel – einfache Werteliste
for FARBE in rot gruen blau do echo "Farbe: $FARBE" done
Ausgabe: Farbe: rot Farbe: gruen Farbe: blau
Beispiel – Dateien im Verzeichnis
- Die Schleife kann über alle Dateien in einem Verzeichnis iterieren.*
for DATEI in /etc/*.conf do echo "Konfigurationsdatei: $DATEI" done
Beispiel – Wertebereich mit seq
- Mit dem Kommando seq lassen sich Zahlenbereiche generieren.*
for i in $(seq 1 5) do echo "Zahl: $i" done
Ausgabe: Zahl: 1 Zahl: 2 Zahl: 3 Zahl: 4 Zahl: 5
Die C-ähnliche for-Schleife
- Ab Bash Version 3 kann die for-Schleife auch in einer C-ähnlichen Form geschrieben werden.*
- Sie eignet sich besonders für Zähleroperationen mit Startwert, Bedingung und Inkrement.*
Syntax (C-ähnlich)
for ((Initialisierung; Bedingung; Inkrement)) do Befehle done
Beispiel – Zähler von 1 bis 5
for ((i=1; i<=5; i++)) do echo "Wert: $i" done
Ausgabe: Wert: 1 Wert: 2 Wert: 3 Wert: 4 Wert: 5
Beispiel – Rückwärtszählen
for ((x=10; x>=1; x--)) do echo "Countdown: $x" done echo "Start!"
Beispiel – Mit Berechnung
for ((n=1; n<=5; n++)) do echo "$n * $n = $((n*n))" done
Ausgabe: 1 * 1 = 1 2 * 2 = 4 3 * 3 = 9 4 * 4 = 16 5 * 5 = 25
Beispiel – Parameterübergabe verarbeiten
for PARAM in "$@" do echo "Parameter: $PARAM" done
Aufruf: ./skript.sh rot gruen blau
Ausgabe: Parameter: rot Parameter: gruen Parameter: blau
Beispiel – for mit Befehlsausgabe
for DATEI in $(ls /etc | grep conf) do echo "Gefunden: $DATEI" done
Hinweise
- do steht immer in einer eigenen Zeile.
- Nach dem letzten Durchlauf behält die Variable ihren letzten Wert.
- Die C-Schreibweise erfordert keine Befehlsersetzung (wie seq).
- Mit break kann eine Schleife beendet werden.
- Mit continue wird der aktuelle Durchlauf übersprungen.
Aufgaben
- Schreiben Sie eine for-Schleife, die alle Farben aus einer Liste ausgibt.
- Schreiben Sie eine for-Schleife mit seq, die von 1 bis 10 zählt.
- Verwenden Sie die C-ähnliche Syntax, um alle geraden Zahlen von 2 bis 10 auszugeben.
- Schreiben Sie eine C-ähnliche Schleife, die von 10 rückwärts zählt.
- Erstellen Sie ein Skript, das über alle an das Skript übergebenen Parameter iteriert und sie nummeriert ausgibt.