Jak używać instrukcji przypadku Bash

How Use Bash Case Statement



Instrukcje Bash case są podobne do instrukcji if-else, ale są łatwiejsze i prostsze. Pomaga dopasować jedną zmienną do kilku wartości. Jest używany, gdy potrzebujesz instrukcji IF-else z wieloma instrukcjami Elif… Jest to dość podobne do instrukcji switch w C, jednak instrukcja bash case nie porusza się do przodu po dopasowaniu wzorca

W tym artykule wyjaśnimy, jak używać instrukcji przypadku Bash na przykładzie w systemie operacyjnym Linux.







Składnia instrukcji bash case

Oto składnia instrukcji bash case:



Składnia:



Obudowa $ zmienna w
wzór-1)
polecenia
;;
wzór-2)
polecenia
;;
wzór-3)
polecenia
;;
wzór-N)
polecenia
;;
*)
polecenia
;;
esac
  • Instrukcja case zaczyna się od case i kończy na esac
  • ) służy do zakończenia wzorca. Aby oddzielić wiele wzorów, | operator jest używany jak pokazano poniżej:
Obudowa $ zmienna w
wzór-1|wzór-2)
polecenia
....
....
;;
wzór-3|wzór-4)
polecenia
....
....
;;
  • Wzorzec z poleceniami jest znany jako klauzula i każda klauzula kończy się na (;;).
  • Symbol gwiazdki* może być użyty do zdefiniowania domyślnej wielkości liter.
  • Instrukcja Bash case najpierw dopasowuje wejściową $zmienna do różnych wzorców. Jeśli wzorzec zostanie dopasowany, zostanie wykonany odpowiedni zestaw poleceń do podwójnych średników (;;).

Przykład 1:

Poniższy przykład dotyczy wyciągu gotówkowego bash, w którym prosi użytkownika o wprowadzenie nazwy miesiąca. Jeśli dane wejściowe pasują do wzorców zdefiniowanych w skrypcie, zostanie wykonane odpowiednie polecenie echo. Polecenie echo wyświetli informacje o wydarzeniu międzynarodowym w danym miesiącu.





Aby użyć tego skryptu, utwórz prosty plik tekstowy; nazwij go rozszerzeniem pliku .sh. Dodaj w nim następujący skrypt i zapisz go. Następnie przypisz ten plik do wykonywania uprawnień, uruchamiając następujące polecenie w Terminalu:

$sudo chmod 777nazwapliku.sh

Aby wykonać ten plik bash, po prostu uruchom ./, a następnie nazwę pliku bash w następujący sposób:



$./nazwapliku.sh

Podczas wykonywania skryptu zostaniesz poproszony o wprowadzenie nazwy miesiąca jako danych wejściowych. Jeśli nazwa miesiąca jest dopasowana, wyświetli odpowiednie zdarzenie w tym konkretnym miesiącu, w przeciwnym razie nie zostanie wyświetlona żadna pasująca informacja.

Zauważ, że shopt -s nocasematch służy do dopasowywania wzorca niezależnie od jego wielkości.

sklepy -snocasematch

wyrzucił „Wprowadź nazwę miesiąca”
czytaćmiesiąc
Obudowa $miesiąc w
Styczeń)
wyrzucił „24 stycznia Międzynarodowy Dzień Edukacji”.
;;
Luty)
wyrzucił „20 lutegoŚwiatowy Dzień Sprawiedliwości Społecznej”.
;;
Marsz)
wyrzucił „8 marca Międzynarodowy Dzień Kobiet”.
;;
kwiecień)
wyrzucił „7 kwietnia Światowy Dzień Zdrowia”
;;
Może)
wyrzucił „Międzynarodowy Dzień Rodzin 15 maja”
;;
czerwiec)
wyrzucił „20 czerwca Światowy Dzień Uchodźcy”
;;
lipiec)
wyrzucił „11 lipca Światowy Dzień Ludności”
;;
*)
wyrzucił „Nie znaleziono pasujących informacji”
;;
esac

Przykład 2:

Poniższy przykład dotyczy wyciągu gotówkowego bash, w którym użytkownik jest proszony o wprowadzenie nazwy kraju. Jeśli dane wejściowe pasują do wzorców zdefiniowanych w skrypcie, zostanie wykonane odpowiednie polecenie echo. Polecenie echo wyświetli informacje o stolicy tego konkretnego kraju.

Aby użyć tego skryptu, postępuj zgodnie z metodą opisaną w powyższym przykładzie. Po zakończeniu uruchom skrypt, a zostaniesz poproszony o wprowadzenie nazwy kraju jako danych wejściowych. Jeśli nazwa kraju zostanie dopasowana do wstępnie zdefiniowanych nazw krajów, wyświetli się jego wielka nazwa, w przeciwnym razie zostanie wyświetlony komunikat Informacja niedostępna.

#!/kosz/bash
sklepy -snocasematch
wyrzucił -n „Wpisz nazwę kraju:”
czytaćkraj

wyrzucił -n 'Stolica$krajjest '
Obudowa $kraj w
Pakistan)
wyrzucił -n „Islamabad”
;;
Fidżi)
wyrzucił -n 'Suchy'
;;
Wielka Brytania| 'Zjednoczone Królestwo')
wyrzucił -n 'Londyn'
;;
indyk)
wyrzucił -n 'Ankara'
;;
ZASTOSOWANIA)
wyrzucił -n 'Waszyngton'
;;
*)
wyrzucił -n 'Informacja niedostępna'
;;
esac
wyrzucił ''

Instrukcje dotyczące wielkości liter w Bash sprawiają, że skrypt bash jest łatwiejszy do odczytania i zrozumienia. W tym artykule omówiliśmy, jak pisać i używać instrukcji bash case. Teraz możesz łatwo i prosto napisać wielopoziomową instrukcję if-else, używając instrukcji case.