Polecenie bash case

Polecenie bash case

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ń.

Wniosek

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.