Polecenie Bash Case służy do podjęcia właściwego działania poprzez porównanie danych takich jak instrukcja IF. Działa jak instrukcja przełącznika innych standardowych języków programowania. To polecenie rozpoczyna się od instrukcji „Case” i zamyka instrukcja „ESAC”. W poleceniu sprawy i podwójnego wspornika (;) nie jest używane, aby wymienić instrukcje (ów) dla jakiegokolwiek konkretnego dopasowania. To polecenie rozszerza wyrażenie i próbuje dopasować do danego wzoru, a kod stanu wyjścia tego polecenia będzie zerowy, jeśli nie zostanie znalezione dopasowanie. Niektóre wspólne przykłady stwierdzeń spraw pokazano w tym samouczku.
Przykład-1: Proste instrukcja przypadku
Pojedyncze wyrażenie warunkowe jest używane w poleceniu Case Bash do wygenerowania danych wyjściowych na podstawie warunku dopasowania. Utwórz plik bash o nazwie przypadek 1.cii z następującym skryptem Bash. Skrypt przyjmie wartość ciągu i pasuje do wartości do każdego wyrażenia. Poniższy skrypt wygeneruje „nie znaleziono wpisu”, jeśli nie istnieje dopasowane wyrażenie,
przypadek 1.cii
#!/bin/bash
echo „Wpisz swoje imię”
Przeczytaj nazwę
Case $ Nazwa w
Takmin)
Echo „Twój ulubiony kolor to niebieski” ;;
Fahmida)
echo „Twój ulubiony napój to Sprite” ;;
*)
echo „brak zgłoszenia” ;;
esac
Uruchom skrypt.
$ bash case1.cii
Wyjście:
Plik jest wykonywany z prawidłowym i nieprawidłowym wejściem tutaj, aby przetestować wyjście.
Przykład-2: Instrukcja wielu przypadków z rurą
W skrypcie BASH można zastosować wiele wyrażeń przypadków, aby wykonywać różne typy instrukcji. Do przypisania wielu wyrażeń można użyć rurki (|). Utwórz plik bash o nazwie case2.cii z następującym skryptem. Po uruchomieniu skryptu, jeśli wartość wejściowa będzie zgodna z dowolnym wyrażeniem, odpowiednia wartość tekstu zostanie wydrukowana.
case2.cii
#!/bin/bash
echo „Wpisz swój numer identyfikacyjny”
Przeczytaj id
Case $ id in
65341)
echo „Twoja pozycja to 1st” ;;
97564 | 88453)
echo „Twoja pozycja to 2nd” ;;
45087)
echo „Twoja pozycja to trzecie” ;;
*)
echo „Nieprawidłowy id” ;;
esac
Uruchom skrypt .
$ bash case2.cii
Wyjście:
Ten skrypt działa również jak poprzedni przykład. Jedyną różnicą jest to, że wielokrotne wartości wyrażenia są testowane dla pojedynczego wyjścia.
Przykład-3: Jak zrezygnować z bloku instrukcji Case/ESAC
Gdy polecenie bash Case jest używane w ramach nieskończonej pętli, polecenie wyjścia musi użyć do zakończenia pętli. Ten przykład pokazuje, w jaki sposób można wykonać tego rodzaju zadanie. Utwórz plik tekstowy o nazwie przypadek3.cii z następującym skryptem. Ten skrypt przyjmie dowolną liczbę od 1 do 3 jako dane wejściowe. Jeśli wejście wynosi 1, zostaną dodane dwie liczby, jeśli wejście to 2, to dwie liczby zostaną odjęte i jeśli numer wejściowy wynosi 3, to dwie liczby zostaną pomnożone. Dane wyjściowe będzie „nieprawidłowym wpisem”, jeśli liczba wejściowa jest więcej niż 3 lub mniejsza niż 1 lub pusta.
przypadek3.cii
#!/bin/bash
#!/bin/bash
While (prawda)
Do
A = 8
B = 4
((x = $ a+$ b))
((y = $ a-$ b))
((z = $ a*$ b))
echo „typ 1 lub 2 lub 3”
Przeczytaj Ans
sprawa $ ans in
1) echo „Suma $ a i $ b to $ x & exit” ;;
2) echo „Odejmowanie $ a i $ b to $ y & exit” ;;
3) echo „Mnożenie $ a i $ b to $ z & exit” ;;
*) Echo „Nieprawidłowy wpis”
esac
zrobione
Uruchom skrypt.
$ bash case3.cii
Wyjście:
Skrypt będzie kontynuowany, dopóki Ctrl+C nie zostanie naciśnięty.
Przykład-4: Sprawdzanie wartości argumentu pustego wiersza poleceń
Zmienna argumentu wiersza poleceń może być używana w instrukcji Case Bash. Utwórz plik o nazwie Case4.cii z następującym skryptem, który sprawdzi wartość drugiej zmiennej argumentu.
#!/bin/bash
sprawa „2 USD” w
„Ubuntu”)
echo „Drugi argument to 2 USD."
;;
„Centos”)
echo „Drugi argument to 2 USD."
;;
„”)
echo „Drugi argument jest pusty."
;;
esac
Uruchom skrypt.
$ bash case4.cii
Wyjście:
Tutaj skrypt jest wykonywany bez żadnej drugiej wartości argumentu wiersza poleceń po raz pierwszy, a wyjście pokazuje „drugi argument jest pusty”. Gdy skrypt jest wykonywany z wartością argumentu drugiego wiersza poleceń po raz drugi, nie pokazano żadnego wyjścia.
Przykład-5: Instrukcja wielu przypadków na podstawie danych wejściowych użytkownika
Utwórz plik bash o nazwie Case5.cii z następującym skryptem. Skrypt przyjmie nazwę miesiąca jako wejście użytkownika. Jeśli nazwa miesiąca jest zgodna z jakąkolwiek wartością sprawy, konkretny tekst zostanie przypisany do komunikatu zmiennej. Wartość wejściowa musi być nazwą pełnego miesiąca lub trzech znaków nazwa miesiąca.
Case5.cii
#!/bin/bash
echo „Wpisz nazwę miesiąca”
Przeczytaj miesiąc
sprawa $ miesiąc w
Styczeń | Jan*)
Message = "21 lutego to nasz Międzynarodowy Dzień Matki."
;;
Luty | luty*)
Message = "21 lutego to nasz Międzynarodowy Dzień Matki."
;;
Marzec | Mar*)
Message = "9 marca to Światowy Dzień Króli."
;;
Kwiecień | kwietnia*)
Message = „Obecny miesiąc nie jest luty”
;;
Może | maj*)
Message = „Obecny miesiąc to luty”
;;
Czerwiec | Jun*)
Message = „Obecny miesiąc to luty”
;;
*)
Message = "Brak pasujących informacji"
;;
esac
echo $ wiadomość
Uruchom skrypt.
$ bash case5.cii
Wyjście:
Pojawi się następujące dane wyjściowe dla wartości wejściowej „March” lub „Mar”.
Przykład-6: Sprawdź zmienną w instrukcji Case Bash
Każda wartość ciągu można wydrukować, sprawdzając wartość zmiennej argumentu wiersza poleceń. Utwórz plik tekstowy o nazwie Case6.cii z następującym skryptem. W tym przykładzie wartość pierwszej zmiennej argumentu jest sprawdzana i jeśli wartość jest pusta, to ciąg „Lubię programowanie bash” zostanie wydrukowane.
Case6.cii
#!/bin/bash
sprawa 1 $ w
(„”) echo „Lubię programowanie bash”;
esac
Uruchom skrypt.
$ bash case6.cii
Wyjście:
Ten skrypt jest wykonywany z pierwszymi argumentami i bez. Nie będzie wyjścia, jeśli nie przechodzi zmienna argumentu linii poleceń.
W tym artykule pokazano różne zastosowania polecenia bash case. Jeśli czytelnicy prawidłowo praktykują te przykłady, łatwiej będzie im rozwiązać wiele problemów z programowaniem BASH.