For-Schleife
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 71 von 82.
Manchmal musst du eine Aktion mehrmals wiederholen. Anstatt denselben Befehl immer wieder zu schreiben, kannst du eine for-Schleife verwenden, um eine Liste von Elementen zu durchlaufen und eine Aktion für jedes einzelne auszuführen.
Hier ist die grundlegende Struktur einer for-Schleife in Bash:
#!/bin/bash
for name in Alice Bob Charlie; do
echo "Hello, $name!"
doneDieses Skript gibt eine Begrüßung für jeden Namen in der Liste aus. Die Variable name nimmt nacheinander jeden Wert an: zuerst "Alice", dann "Bob", dann "Charlie". Das Schlüsselwort do kennzeichnet den Beginn des Schleifenkörpers, und done beendet ihn.
For-Schleifen sind besonders leistungsfähig, wenn sie mit Platzhaltern kombiniert werden. Du kannst alle Dateien in einem Verzeichnis durchlaufen:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
doneDies durchläuft jede .txt-Datei im aktuellen Verzeichnis. Bei jeder Iteration enthält die Variable file den aktuellen Dateinamen, sodass du automatisch Vorgänge für jede Datei ausführen kannst.
Du kannst auch mithilfe der geschweiften Klammererweiterung eine Zahlenfolge durchlaufen:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
doneDies gibt die Zahlen 1 bis 5 aus. For-Schleifen verwandeln sich wiederholende Aufgaben in nur wenige Codezeilen und machen deine Skripte dadurch effizienter und leichter zu warten.
Aufgabe
EinfachErstelle ein Shell-Skript namens countdown.sh, das eine for-Schleife verwendet, um einen Countdown von 5 bis 1 auszugeben.
Dein Skript sollte:
- Mit der Shebang-Zeile (
#!/bin/bash) beginnen - Eine for-Schleife mit Brace-Expansion verwenden, um die Zahlen von 5 abwärts bis 1 zu durchlaufen
- Jede Zahl in einer eigenen Zeile im Format
Countdown: [number]ausgeben
Mach das Skript ausführbar und führe es aus. Deine Ausgabe sollte lauten:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1Hinweis: Verwende
{5..1}, um einen absteigenden Bereich zu erstellen. Verwende innerhalb der Schleifeecho "Countdown: $i", wobeiideine Schleifenvariable ist.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei13Grundlagen der Shell-Skripte
Was ist ein Shell-SkriptEin Skript erstellen und ausführenVariablen in SkriptenBenutzereingabe in SkriptenIf-AnweisungFor-SchleifeWhile-SchleifeZusammenfassung - Zahlenraten2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-PipelineÜbe selbstständig: Terminal-Playground