Unix / Linux - Shell-Schleifen: Ein Anfängerleitfaden
Hallo, angehende Programmierer! Heute tauchen wir in die aufregende Welt der Shell-Schleifen in Unix und Linux ein. Machen Sie sich keine Sorgen, wenn Sie noch nie eine Zeile Code geschrieben haben – ich werde Sie Schritt für Schritt durchführen, genau wie ich es in den letzten Jahren für unzählige Schüler getan habe. Los geht's!
Was sind Shell-Schleifen?
Stellen Sie sich vor, Sie sind auf einer Party und müssen jeden Gast begrüßen. Wäre es nicht schön, wenn Sie einfach sagen könnten: " wiederhole 'Hallo' für jeden Gast"? Genau das machen Schleifen in der Programmierung – sie erlauben es uns, eine Reihe von Anweisungen mehrmals auszuführen.
In Shell-Skripten sind Schleifen äußerst nützlich, um wiederholte Aufgaben zu automatisieren. Sie können Ihnen Zeit sparen und die Wahrscheinlichkeit von Fehlern reduzieren, die auftreten könnten, wenn Sie Befehle manuell wiederholen würden.
Arten von Shell-Schleifen
In Unix/Linux-Shell-Skripten arbeiten wir hauptsächlich mit drei Arten von Schleifen:
Schleifenart | Beschreibung | Verwendungszweck |
---|---|---|
for-Schleife | Iteriert über eine Liste von Elementen | Wenn Sie die genaue Anzahl der Iterationen kennen |
while-Schleife | Fortsetzt, solange eine Bedingung wahr ist | Wenn Sie nicht wissen, wie viele Iterationen benötigt werden |
until-Schleife | Fortsetzt, bis eine Bedingung wahr wird | Ähnlich wie while, aber mit umgekehrter Logik |
Lassen Sie uns jede dieser Schleifenarten im Detail untersuchen.
Die 'for'-Schleife
Die 'for'-Schleife ist wie ein pflichtbewusster Postbote, der eine Nachricht an jedes Haus auf einer Straße delivers. Sie geht durch eine Liste von Elementen und führt eine Aktion für jedes Element aus.
Hier ist die grundlegende Syntax:
for variable in list
do
commands
done
Sehen wir uns ein einfaches Beispiel an:
#!/bin/bash
for fruit in apple banana orange
do
echo "Ich liebe $fruit"
done
Wenn Sie dieses Skript ausführen, werden Sie Folgendes sehen:
Ich liebe apple
Ich liebe banana
Ich liebe orange
In diesem Beispiel ist unser 'Postbote' (die Schleife) dabei, die Nachricht "Ich liebe" an jedes 'Haus' (Frucht) auf der 'Straße' (unserer Liste von Früchten) zu delivern.
Die 'while'-Schleife
Die 'while'-Schleife ist wie ein hartnäckiger Verkäufer, der an Ihrer Tür klopft, solange Sie ihr Produkt nicht gekauft haben. Sie führt eine Reihe von Befehlen so lange aus, wie eine Bedingung wahr ist.
Hier ist die grundlegende Syntax:
while [ condition ]
do
commands
done
Sehen wir uns ein Beispiel an:
#!/bin/bash
count=1
while [ $count -le 5 ]
do
echo "Zähler ist: $count"
count=$((count + 1))
done
Dieses Skript wird Folgendes ausgeben:
Zähler ist: 1
Zähler ist: 2
Zähler ist: 3
Zähler ist: 4
Zähler ist: 5
In diesem Fall hält unser 'Verkäufer' (die Schleife) so lange 'anklopfen' (den Zähler ausgeben), bis der Zähler 5 erreicht.
Die 'until'-Schleife
Die 'until'-Schleife ist wie das Warten auf einen Bus. Sie warten weiter, bis der Bus ankommt. Sie führt Befehle so lange aus, bis eine Bedingung wahr wird.
Hier ist die grundlegende Syntax:
until [ condition ]
do
commands
done
Sehen wir uns ein Beispiel an:
#!/bin/bash
count=1
until [ $count -gt 5 ]
do
echo "Zähler ist: $count"
count=$((count + 1))
done
Dieses Skript wird die gleiche Ausgabe wie unser while-Schleifenbeispiel erzeugen. Der Unterschied liegt in der Logik: Wir setzen fort, bis der Zähler größer als 5 ist, anstatt solange er kleiner oder gleich 5 ist.
Verschachtelte Schleifen
Genau wie Sie ein Zimmer im Zimmer haben können (denken Sie an einen begehbaren Schrank), können Sie auch eine Schleife in einer Schleife haben. Dies wird als verschachtelte Schleifen bezeichnet.
Hier ist ein Beispiel für verschachtelte for-Schleifen:
#!/bin/bash
for i in 1 2 3
do
echo "Äußere Schleife: $i"
for j in a b c
do
echo " Innere Schleife: $j"
done
done
Dieses Skript wird Folgendes ausgeben:
Äußere Schleife: 1
Innere Schleife: a
Innere Schleife: b
Innere Schleife: c
Äußere Schleife: 2
Innere Schleife: a
Innere Schleife: b
Innere Schleife: c
Äußere Schleife: 3
Innere Schleife: a
Innere Schleife: b
Innere Schleife: c
Denken Sie daran wie ein Mehrstockhaus. Die äußere Schleife geht durch jede Etage, und für jede Etage geht die innere Schleife durch jedes Apartment.
Verschachtelte while-Schleifen
Wir können auch while-Schleifen verschachteln. Hier ist ein Beispiel:
#!/bin/bash
i=1
while [ $i -le 3 ]
do
echo "Äußere Schleife: $i"
j=1
while [ $j -le 3 ]
do
echo " Innere Schleife: $j"
j=$((j + 1))
done
i=$((i + 1))
done
Dieses Skript wird eine ähnliche Ausgabe wie unser verschachteltes for-Schleifenbeispiel erzeugen.
Fazit
Herzlichen Glückwunsch! Sie haben gerade Ihre ersten Schritte in die Welt der Shell-Schleifen gemacht. Denken Sie daran, dass Schleifen wie hilfreiche Roboter sind, die Aufgaben für Sie wiederholen können. Die 'for'-Schleife ist großartig, wenn Sie genau wissen, wie oft Sie etwas wiederholen möchten. Die 'while'- und 'until'-Schleifen sind perfekt, wenn Sie nicht sicher sind und fortfahren müssen, bis eine Bedingung erfüllt ist.
While Sie Ihre Programmierreise fortsetzen, werden Sie Schleifen als unersetzliche Werkzeuge in Ihrer Coding-Toolbox finden. Sie helfen Ihnen dabei, wiederholte Aufgaben zu automatisieren, große Mengen an Daten zu verarbeiten und effizientere und elegantere Skripte zu erstellen.
Üben Sie weiter und bald werden Sie wie ein Profi Schleifen verwenden! Denken Sie daran, dass jeder Meister-Programmierer genau dort begonnen hat, wo Sie jetzt sind. Viel Spaß beim Coden!
Credits: Image by storyset