So verwenden Sie die Bash-Case-Anweisung

How Use Bash Case Statement



Bash-Case-Anweisungen ähneln if-else-Anweisungen, sind jedoch einfacher und einfacher. Es hilft, eine Variable mit mehreren Werten abzugleichen. Es wird verwendet, wenn Sie die IF-else-Anweisungen mit einer Reihe von Elif-Anweisungen benötigen… Es ist der switch-Anweisung in C ziemlich ähnlich, aber die bash case-Anweisung geht nicht weiter, sobald das Muster abgeglichen ist

In diesem Artikel erklären wir, wie Sie die Bash-Case-Anweisung anhand eines Beispiels im Linux-Betriebssystem verwenden.







Syntax der bash case-Anweisung

Hier ist die Syntax für die bash case-Anweisung:



Syntax:



Fall $ variabel in
Muster-1)
Befehle
;;
Muster-2)
Befehle
;;
Muster-3)
Befehle
;;
Muster-N)
Befehle
;;
*)
Befehle
;;
esac
  • Die case-Anweisung beginnt mit case und endet mit esac
  • ) wird verwendet, um ein Muster zu beenden. Um mehrere Muster zu trennen, | Operator wird wie unten gezeigt verwendet:
Fall $ variabel in
Muster-1|Muster-2)
Befehle
....
....
;;
Muster-3|Muster-4)
Befehle
....
....
;;
  • Ein Muster mit Befehlen ist als Klausel bekannt und jede Klausel endet mit (;;).
  • Das Sternchensymbol* kann verwendet werden, um den Standardfall zu definieren.
  • Die Bash-Case-Anweisung gleicht zuerst die Eingabevariable $ mit den verschiedenen Mustern ab. Wenn ein Muster gefunden wird, wird der entsprechende Befehlssatz bis zu den doppelten Semikolons (;;) ausgeführt.

Beispiel 1:

Im folgenden Beispiel geht es um den Bash-Cash-Statement, in dem der Benutzer aufgefordert wird, den Monatsnamen einzugeben. Stimmt diese Eingabe mit den im Skript definierten Mustern überein, wird der entsprechende Echo-Befehl ausgeführt. Der echo-Befehl zeigt Informationen über das internationale Ereignis dieses bestimmten Monats an.





Um dieses Skript zu verwenden, erstellen Sie eine einfache Textdatei; benennen Sie es mit der Dateierweiterung .sh. Fügen Sie das folgende Skript hinzu und speichern Sie es. Weisen Sie dann dieser Datei die Ausführungsberechtigungen zu, indem Sie den folgenden Befehl im Terminal ausführen:

$sudo chmod 777Dateiname.sh

Um diese Bash-Datei auszuführen, führen Sie einfach ./ gefolgt vom Namen der Bash-Datei wie folgt aus:



$./Dateiname.sh

Wenn Sie das Skript ausführen, werden Sie aufgefordert, den Namen des Monats als Eingabe einzugeben. Wenn der Monatsname übereinstimmt, wird das entsprechende Ereignis in diesem bestimmten Monat angezeigt, andernfalls werden keine übereinstimmenden Informationen gefunden angezeigt.

Beachten Sie, dass shopt -s nocasematch verwendet wird, um Muster unabhängig von der Groß-/Kleinschreibung abzugleichen.

Geschäfte -Snocasematch

rauswerfen 'Name des Monats eingeben'
lesenMonat
Fall $Monat in
Januar)
rauswerfen ' 24. Januar Internationaler Tag der Bildung.'
;;
Februar)
rauswerfen ' 20. FebruarWelttag der sozialen Gerechtigkeit .'
;;
März)
rauswerfen '8. März Internationaler Frauentag.'
;;
April)
rauswerfen '7. April Weltgesundheitstag'
;;
Kann)
rauswerfen 'Internationaler Tag der Familie am 15. Mai'
;;
Juni)
rauswerfen '20. Juni Weltflüchtlingstag'
;;
Juli)
rauswerfen 'Weltbevölkerungstag am 11. Juli'
;;
*)
rauswerfen 'Keine passenden Informationen gefunden'
;;
esac

Beispiel 2:

Im folgenden Beispiel geht es um den Bash-Kassenauszug, bei dem ein Benutzer aufgefordert wird, den Ländernamen einzugeben. Stimmt diese Eingabe mit den im Skript definierten Mustern überein, wird der entsprechende Echo-Befehl ausgeführt. Der echo-Befehl zeigt Informationen über die Hauptstadt des jeweiligen Landes an.

Um dieses Skript zu verwenden, befolgen Sie dieselbe Methode wie im obigen Beispiel beschrieben. Wenn Sie fertig sind, führen Sie das Skript aus und Sie werden aufgefordert, den Namen des Landes als Eingabe einzugeben. Wenn der Ländername mit den vordefinierten Ländernamen übereinstimmt, wird der Hauptstadtname dieses Landes angezeigt, andernfalls wird die Meldung Informationen nicht verfügbar angezeigt.

#!/bin/bash
Geschäfte -Snocasematch
rauswerfen -n 'Geben Sie den Namen eines Landes ein: '
lesenLand

rauswerfen -n 'Die Hauptstadt von$Landist '
Fall $Land in
Pakistan)
rauswerfen -n 'Islamabad'
;;
Fidschi)
rauswerfen -n 'Trocken'
;;
Vereinigtes Königreich| 'Vereinigtes Königreich')
rauswerfen -n 'London'
;;
Truthahn)
rauswerfen -n 'Ankara'
;;
VERWENDET)
rauswerfen -n 'Washington, D.C'
;;
*)
rauswerfen -n 'Information nicht verfügbar'
;;
esac
rauswerfen ''

Bash case-Anweisungen erleichtern das Lesen und Verstehen des Bash-Skripts. In diesem Artikel haben wir behandelt, wie man bash case-Anweisungen schreibt und verwendet. Jetzt können Sie eine mehrstufige if-else-Anweisung einfach und einfach durch die Verwendung von case-Anweisungen schreiben.