Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m122:learningunits:lu06:iteration [2024/11/18 07:47] – angelegt msutermodul:m122:learningunits:lu06:iteration [2024/12/04 19:12] (aktuell) msuter
Zeile 1: Zeile 1:
 ====== LU06b - Einführung in Iterationen in Bash ====== ====== LU06b - Einführung in Iterationen in Bash ======
 +{{https://openbook.rheinwerk-verlag.de/shell_programmierung/shell_006_009.htm|Shell Prog: Kapitel 4.10 - 4.11}}
  
 Iterationen (Schleifen) in Bash ermöglichen es, wiederholt eine Gruppe von Befehlen auszuführen, bis eine bestimmte Bedingung erfüllt ist. Bash bietet dafür mehrere Arten von Schleifen, die für unterschiedliche Zwecke verwendet werden können. Iterationen (Schleifen) in Bash ermöglichen es, wiederholt eine Gruppe von Befehlen auszuführen, bis eine bestimmte Bedingung erfüllt ist. Bash bietet dafür mehrere Arten von Schleifen, die für unterschiedliche Zwecke verwendet werden können.
  
---- 
  
-### **1. `for`-Schleife**+===== for-Schleife =====
  
-Die **`for`-Schleife** wird verwendet, um durch eine Liste von Werten oder Dateien zu iterieren.+Die **for-Schleife** wird verwendet, um durch eine Liste von Werten oder Dateien zu iterieren.
  
-#### **Grundstruktur:** +==== Grundstruktur: ==== 
-```bash+<code bash>
 for variable in Liste; do for variable in Liste; do
     # Befehle     # Befehle
 done done
-```+</code>
  
-#### **Beispiel:** +==== Beispiel: ==== 
-```bash+<code bash>
 #!/bin/bash #!/bin/bash
 for name in Alice Bob Charlie; do for name in Alice Bob Charlie; do
     echo "Hallo, $name!"     echo "Hallo, $name!"
 done done
-```+</code>
  
 **Ausgabe:** **Ausgabe:**
-```+<code>
 Hallo, Alice! Hallo, Alice!
 Hallo, Bob! Hallo, Bob!
 Hallo, Charlie! Hallo, Charlie!
-```+</code>
  
-#### **`for`-Schleife für Dateien:** +==== for-Schleife für Dateien: ==== 
-```bash+<code bash>
 #!/bin/bash #!/bin/bash
 for file in *.txt; do for file in *.txt; do
     echo "Datei: $file"     echo "Datei: $file"
 done done
-```+</code>
  
----+----
  
-### **2. `while`-Schleife**+===== while-Schleife =====
  
-Die **`while`-Schleife** führt Befehle aus, solange eine Bedingung wahr ist.+Die **while-Schleife** führt Befehle aus, solange eine Bedingung wahr ist.
  
-#### **Grundstruktur:** +=== Grundstruktur: === 
-```bash+<code bash>
 while [ Bedingung ]; do while [ Bedingung ]; do
     # Befehle     # Befehle
 done done
-```+</code>
  
-#### **Beispiel:** +=== Beispiel: === 
-```bash+<code bash>
 #!/bin/bash #!/bin/bash
 zahl=1 zahl=1
Zeile 61: Zeile 60:
     zahl=$((zahl + 1))     zahl=$((zahl + 1))
 done done
-```+</code>
  
 **Ausgabe:** **Ausgabe:**
-```+<code>
 Zahl: 1 Zahl: 1
 Zahl: 2 Zahl: 2
Zeile 70: Zeile 69:
 Zahl: 4 Zahl: 4
 Zahl: 5 Zahl: 5
-```+</code>
  
----+==== Alle Zeilen einer Datei lesen ==== 
 +Diese Iteration liest eine Datei zeilenweise und stellt die Daten in die Variable ''data''
 +Die Variable mit dem Dateinamen wird in der letzten Zeile mittels Umleitung (''<'') angegeben. 
 +<code bash> 
 +filename=someFile.dat 
 +while read data; do 
 +    # Process the data 
 +done < $filename
  
-### **3. `until`-Schleife**+===== until-Schleife =====
  
-Die **`until`-Schleife** ist das Gegenteil der `while`-Schleife: Sie läuft, bis eine Bedingung wahr wird.+Die **until-Schleife** ist das Gegenteil der **while-Schleife**: Sie läuft, bis eine Bedingung wahr wird.
  
-#### **Grundstruktur:** +==== Grundstruktur: ==== 
-```bash+<code bash>
 until [ Bedingung ]; do until [ Bedingung ]; do
     # Befehle     # Befehle
 done done
-```+</code>
  
-#### **Beispiel:** +==== Beispiel: ==== 
-```bash+<code bash>
 #!/bin/bash #!/bin/bash
 zahl=1 zahl=1
Zeile 93: Zeile 99:
     zahl=$((zahl + 1))     zahl=$((zahl + 1))
 done done
-```+</code>
  
 **Ausgabe:** **Ausgabe:**
-```+<code>
 Zahl: 1 Zahl: 1
 Zahl: 2 Zahl: 2
Zeile 102: Zeile 108:
 Zahl: 4 Zahl: 4
 Zahl: 5 Zahl: 5
-``` +</code>
- +
----+
  
-### **4. Schleifensteuerung**+===== Schleifensteuerung =====
  
 Bash bietet Befehle, um Schleifen zu kontrollieren: Bash bietet Befehle, um Schleifen zu kontrollieren:
-**`break`**: Beendet die Schleife vorzeitig. +  * **break**: Beendet die Schleife vorzeitig. 
-**`continue`**: Überspringt den aktuellen Schleifendurchlauf.+  **continue**: Überspringt den aktuellen Schleifendurchlauf.
  
-#### **Beispiele:** +==== Beispiele: ==== 
-```bash+<code bash>
 # Mit break # Mit break
 for i in {1..10}; do for i in {1..10}; do
Zeile 121: Zeile 125:
     echo "Zahl: $i"     echo "Zahl: $i"
 done done
-```+</code>
  
-```bash+<code bash>
 # Mit continue # Mit continue
 for i in {1..5}; do for i in {1..5}; do
Zeile 131: Zeile 135:
     echo "Zahl: $i"     echo "Zahl: $i"
 done done
-```+</code>
  
----+----
  
-### **Zusammenfassung**+===== Zusammenfassung =====
  
-Schleife   | Beschreibung                                          Verwendung                                  | +Schleife  Beschreibung                                  Verwendung                                ^ 
-|------------|------------------------------------------------------|--------------------------------------------| +**for**   | Iteriert über eine Liste von Werten oder Dateien | Wiederholung bei bekannter Anzahl von Werten | 
-| `for`      | Iteriert über eine Liste von Werten oder Dateien      | Wiederholung bei bekannter Anzahl von Werten | +**while** | Läuft, solange eine Bedingung wahr ist         | Dynamische Bedingung                       | 
-`while`    | Läuft, solange eine Bedingung wahr ist                | Dynamische Bedingung                       | +**until** | Läuft, bis eine Bedingung wahr wird            | Dynamische Bedingung, Gegenteil von while | 
-`until`    | Läuft, bis eine Bedingung wahr wird                   | Dynamische Bedingung, Gegenteil von `while+**break** | Beendet die Schleife                          | Vorzeitiges Ende                          
-`break`    | Beendet die Schleife                                  | Vorzeitiges Ende                           +**continue** | Überspringt den aktuellen Schleifendurchlauf | Fortsetzen der Schleife                   |
-`continue| Überspringt den aktuellen Schleifendurchlauf          | Fortsetzen der Schleife                    |+
  
-Mit diesen Schleifen können Sie wiederkehrende Aufgaben effizient automatisieren und komplexe Abläufe strukturieren.+---- 
 +{{tag>M122-LU06}} 
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter
  • modul/m122/learningunits/lu06/iteration.1731912473.txt.gz
  • Zuletzt geändert: 2024/11/18 07:47
  • von msuter