0Pricing
DevOps Bootcamp · Lekcja

Instrukcja case i dopasowywanie wzorców

Sprawnie rozgałęziaj wykonanie na podstawie wielu wartości. Poznaj instrukcję case, wzorce glob, dopasowywanie wielu wzorców oraz przewagę tego rozwiązania nad długimi łańcuchami if-elif.

Instrukcja case i dopasowywanie wzorców to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Po co case

Gdy zmienna może przyjmować wiele wartości, długa konstrukcja if/elif/elif staje się nieczytelna. Instrukcja case porównuje wartość ze wzorcami i jest znacznie bardziej przejrzysta.

Podstawowa składnia

Blok case porównuje wartość ze wzorcami, z których każdy kończy się znakiem ), a jego ciało kończy się przez ;;. Cały blok kończy się słowem esac.

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

Przypadek domyślny

Wzorzec *) pasuje do wszystkiego i pełni funkcję domyślnego przypadku typu catch-all, podobnie jak else.

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

Dopasowywanie wielu wzorców

Użyj |, aby dopasować kilka wzorców w jednej gałęzi.

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

Wzorce glob

Wzorce używają mechanizmu glob powłoki, a nie wyrażeń regularnych: * pasuje do dowolnego ciągu znaków, ? do dowolnego pojedynczego znaku, a [...] definiuje klasę znaków.

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

Zakresy znaków

Wzorce w nawiasach kwadratowych dopasowują zakresy, co jest przydatne przy grupowaniu według pierwszej litery lub cyfry.

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

Proste menu

case doskonale sprawdza się w skryptach sterowanych menu, w których użytkownik wybiera opcję.

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

case a if

Używaj if do złożonych warunków logicznych (zakresów, porównań i wielu zmiennych). Używaj case, gdy rozgałęzienie zależy od wartości lub wzorca jednej zmiennej.

Cytowanie wartości

Ujmij sprawdzaną wartość ("$var") w cudzysłowy, aby bezpiecznie obsługiwać wartości puste lub zawierające spacje.

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

Przechodzenie dalej za pomocą ;;&

Bash obsługuje ;;&, które po dopasowaniu pozwala kontynuować sprawdzanie kolejnych wzorców, dzięki czemu może zostać wykonanych wiele gałęzi.

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

Rozdzielanie argumentów

Częste zastosowanie w praktyce: rozdzielanie działania na podstawie pierwszego argumentu skryptu w celu implementacji podpoleceń, podobnie jak w narzędziu CLI.

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

Szybki test

Sprawdź, czy rozumiesz ten temat.

Podsumowanie

Poznałeś(-aś) instrukcję case: porównywanie wartości ze wzorcami glob, kończenie gałęzi za pomocą ;;, łączenie wzorców za pomocą |, używanie *) jako przypadku domyślnego oraz wybieranie case zamiast długich łańcuchów if-elif przy przełączaniu według wartości i rozdzielaniu argumentów.

Często zadawane pytania

Czy lekcja „Instrukcja case i dopasowywanie wzorców” jest bezpłatna?

Tak — pełny tekst „Instrukcja case i dopasowywanie wzorców” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Instrukcja case i dopasowywanie wzorców”?

Sprawnie rozgałęziaj wykonanie na podstawie wielu wartości. Poznaj instrukcję case, wzorce glob, dopasowywanie wielu wzorców oraz przewagę tego rozwiązania nad długimi łańcuchami if-elif. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Instrukcja case i dopasowywanie wzorców”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Konstrukcje pętli (for, while)
  2. Funkcje w skryptach Bash
  3. Argumenty i opcje skryptów ($@, $#, getopts)
  4. Instrukcja case i dopasowywanie wzorców
← Powrót do DevOps Bootcamp