$linux-kurs.euLinux lernen · verstehen · anwenden

Bash-Scripting

Aufbau20 min

Bedingungen und Schleifen

Kontrollstrukturen machen aus einer Kommandoliste ein Programm.

Nur wenn Sie diesen Button verwenden, wird Ihr Lernfortschritt lokal in diesem Browser gespeichert. Es erfolgt keine Übertragung an den Server.

if und [[ ... ]]

Bash bietet mit [[ ... ]] eine Shell-eigene Testsyntax. Sie eignet sich für Stringvergleiche, Dateitests und Muster. Für arithmetische Ausdrücke gibt es (( ... )).

Terminal / Bash
if [[ -f $file ]]; then
    printf '%s exists\n' "$file"
fi

if (( count > 10 )); then
    echo 'many'
fi

for-Schleifen

for ist ideal, wenn eine bekannte Liste von Werten oder Argumenten verarbeitet wird. Werte sollten wiederum korrekt gequotet werden.

Terminal / Bash
for file in *.log; do
    [[ -e $file ]] || continue
    gzip -- "$file"
done

while read

Für zeilenweise Eingabe ist IFS= read -r ein robustes Muster. -r verhindert, dass Backslashes als Escape-Zeichen interpretiert werden.

Terminal / Bash
while IFS= read -r line; do
    printf '%s\n' "$line"
done < input.txt

Übung

Jetzt selbst ausprobieren

Prüfen Sie, ob das erste Argument ein Verzeichnis ist, und geben Sie alle Argumente in einer Schleife aus.

Lösung / Hinweis anzeigen

Nutzen Sie `[[ -d ${1:-} ]]` und anschließend `for arg in "$@"; do ...; done`.

Wissenscheck

Was bedeutet Exit-Status 0 gewöhnlich?

Mit Trainer vertiefen

Dieses Thema als Schulung?

Auf linux-kurse.eu finden Sie Linux-, Administrations- und Bash-Schulungen von Bodenseo.

Linux-Schulungen ansehen