0Pricing
Linux Command Line & Bash Scripting Mastery · Lektion

Die case-Anweisung und Pattern Matching

Verzweigen Sie übersichtlich anhand vieler Werte. Lernen Sie die case-Anweisung, Glob-Patterns, Übereinstimmungen mit mehreren Patterns und warum sie langen if-elif-Ketten überlegen ist.

Die case-Anweisung und Pattern Matching ist eine kostenlose Linux Command Line & Bash Scripting Mastery-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Command Line & Bash Scripting Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Command Line & Bash Scripting Mastery-Kurs umfasst insgesamt 4 Lektionen.

Warum case?

Wenn eine Variable viele Werte annehmen kann, wird eine lange if/elif/elif-Kette unübersichtlich. Die case-Anweisung vergleicht einen Wert mit Mustern und ist deutlich lesbarer.

Grundlegende Syntax

Ein case-Block prüft einen Wert anhand von Mustern. Jedes Muster endet mit ), und der zugehörige Block wird mit ;; beendet. Der gesamte Block endet mit esac.

case "$fruit" in
  apple) echo "red";;
  banana) echo "yellow";;
esac

Der Standardfall

Das Muster *) passt auf alles und dient als allgemeiner Standardfall wie else.

case "$cmd" in
  start) echo "starting";;
  stop) echo "stopping";;
  *) echo "unknown command";;
esac

Mehrere Muster abgleichen

Verwenden Sie |, um mehrere Muster in einem Zweig abzugleichen.

case "$ans" in
  y|Y|yes) echo "Confirmed";;
  n|N|no) echo "Cancelled";;
esac

Glob-Muster

Muster verwenden Shell-Globbing, keine regulären Ausdrücke: * passt auf jede Zeichenfolge, ? auf ein beliebiges einzelnes Zeichen und [...] auf eine Zeichenklasse.

case "$file" in
  *.txt) echo "text file";;
  *.jpg|*.png) echo "image";;
esac

Zeichenbereiche

Muster in eckigen Klammern gleichen Bereiche ab – praktisch, um nach dem ersten Buchstaben oder der ersten Ziffer zu gruppieren.

case "$ch" in
  [a-z]) echo "lowercase";;
  [0-9]) echo "digit";;
esac

Ein einfaches Menü

case eignet sich besonders für menügesteuerte Skripte, in denen die Benutzer eine Option auswählen.

read -p "Choice: " opt
case "$opt" in
  1) backup;;
  2) restore;;
  *) echo "Invalid";;
esac

case und if

Verwenden Sie if für komplexe boolesche Bedingungen (Bereiche, Vergleiche, mehrere Variablen). Verwenden Sie case, wenn Sie anhand des Werts oder Musters einer einzelnen Variable verzweigen.

Den Wert in Anführungszeichen setzen

Setzen Sie den geprüften Wert ("$var") in Anführungszeichen, damit leere Werte oder Werte mit Leerzeichen sicher verarbeitet werden.

case "$input" in
  "") echo "empty";;
  *) echo "got: $input";;
esac

Fall-Through mit ;;&

Bash unterstützt ;;&, um nach einem Treffer weitere Muster zu prüfen, sodass mehrere Zweige ausgeführt werden können.

case "$f" in
  *.tar) echo "tar";;&
  *.gz) echo "gzip";;
esac

Argumente verteilen

Eine häufige Anwendung aus der Praxis: Verteilen Sie anhand des ersten Skriptarguments auf Unterbefehle, um beispielsweise ein CLI-Tool zu implementieren.

case "$1" in
  init) do_init;;
  build) do_build;;
  *) echo "usage: $0 {init|build}";;
esac

Kurzer Test

Testen Sie Ihr Verständnis.

Zusammenfassung

Sie haben die case-Anweisung kennengelernt: Vergleichen Sie einen Wert mit Glob-Mustern, beenden Sie Zweige mit ;;, kombinieren Sie Muster mit |, verwenden Sie *) als Standardfall und bevorzugen Sie case gegenüber langen if-elif-Ketten für übersichtliche wert- und argumentbasierte Verzweigungen.

Häufig gestellte Fragen

Ist die Lektion „Die case-Anweisung und Pattern Matching“ kostenlos?

Ja — der vollständige Text von „Die case-Anweisung und Pattern Matching“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Command Line & Bash Scripting Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Command Line & Bash Scripting Mastery-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Die case-Anweisung und Pattern Matching“?

Verzweigen Sie übersichtlich anhand vieler Werte. Lernen Sie die case-Anweisung, Glob-Patterns, Übereinstimmungen mit mehreren Patterns und warum sie langen if-elif-Ketten überlegen ist. Du übst Linux Command Line & Bash Scripting Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Linux Command Line & Bash Scripting Mastery zu starten?

Keine Vorkenntnisse erforderlich. Linux Command Line & Bash Scripting Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Die case-Anweisung und Pattern Matching“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Linux Command Line & Bash Scripting Mastery-Lektion Code schreiben und ausführen?

Ja. Jede Linux Command Line & Bash Scripting Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Schleifenkonstrukte (for, while)
  2. Funktionen in Bash-Skripten
  3. Skriptargumente und Optionen ($@, $#, getopts)
  4. Die case-Anweisung und Pattern Matching
← Zurück zu Linux Command Line & Bash Scripting Mastery