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:
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.shAby 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 -snocasematchwyrzucił „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/bashsklepy -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.