Übereinstimmungsmuster in Bash Case Anweisung

Übereinstimmungsmuster in Bash Case Anweisung

Bei der Bash -Programmierung hilft die Fallanweisung, komplexe Bedingungen zu vereinfachen, wenn mehrere verschiedene Auswahlmöglichkeiten vorliegt. Anstatt verschachtelte Ifs -Anweisungen zu verwenden, können wir die Fallanweisung stattdessen verwenden, um den Bash -Code lesbarer und wartbarer zu gestalten.

Die Bash -Fallerklärung teilt Ähnlichkeiten mit JavaScript und C Switch -Anweisung auf. Der Hauptunterschied besteht jedoch darin, dass es nicht nach einem zusätzlichen Musterübereinstimmungen sucht, sobald es einem Muster entspricht.

Dieser Leitfaden behandelt die Grundlagen der Bash -Fallerklärung mit verschiedenen Beispielen.

Bash -Fallerklärung

Die grundlegende Struktur der Fallerklärung ist wie folgt.

Fall In
)
Aussagen
;;
)
Aussagen
;;
*)
Aussagen
;;
ESAC

Hier ist eine kurze Aufschlüsselung der Struktur:

  • Die Fallanweisung beginnt mit dem Schlüsselwort "Fall" und endet mit dem Schlüsselwort "ESAC", ähnlich wie bei Bedingung mit "if" und endet mit "FI".
  • Es kann mehrere Muster geben, die durch „|“ getrennt sind. Der Operator ")" markiert das Ende der Musterliste.
  • Muster können Sonderzeichen enthalten.
  • Sobald ein Muster übereinstimmt, werden seine zugehörigen Befehle ausgeführt. Zusammen heißt es eine Klausel. Jede Klausel muss mit ";;" enden. Es stoppt jeden Versuch, weitere Muster zu erreichen.
  • Die Wildcard (*) -Klausel ist eine übliche Praxis, um den Standardfall zu definieren. Es wird immer mit der Bedingung übereinstimmen.
  • Wenn kein Muster übereinstimmt, gibt die Fallanweisung Null zurück. Andernfalls wird der Beschließungswert der ausgeführten Befehle zurückgegeben.

Das Verständnis der Bash-If-ELSE-Aussage ist von Vorteil, um die Bash-Fallerklärung zu verstehen und zu beherrschen.

Beispiele für Bash -Fallerklärung

Fallanweisung mit numerischen Werten

Jetzt, da wir die Grundlagen kennen, ist es Zeit, es in Aktion zu überprüfen. Schauen Sie sich das folgende Skript an.

#!/Bin/Bash
echo -n "Wert eingeben:"
Wert lesen
Fall $ Wert in
1)
echo "eins" ;;
2)
echo "zwei" ;;
3)
echo "drei" ;;
4 | 5)
echo "größer als drei" ;;
*)
echo "unbekannter Wert" ;;
ESAC

Speichern Sie das Skript. Markieren Sie es als ausführbare Datei.

$ chmod +x sample.Sch

Führen Sie jetzt das Skript aus.

$ ./Probe.Sch

Das Skript wird aufgefordert, einen Wert einzugeben. Wenn der Wert einem der Muster übereinstimmt, wird die Übereinstimmungsklausel ausgeführt. Wenn keine Übereinstimmung gefunden wurde, stimmt es mit der Standardklausel überein.

Fallanweisung Verwenden von Zeichenfolgen

Im nächsten Beispiel verwenden wir Zeichenfolgen, um Werten übereinzustimmen.

#!/Bin/Bash
echo -n "Eingänglich auf Planet:"
Planeten lesen
Fall $ Planet in
Quecksilber | Venus | Erde | Mars | Jupiter | Saturn | Uranus | Neptun)
Echo "$ Planet ist ein Planet aus dem Sonnensystem"
;;
Pluto)
Echo "$ Planet ist ein Zwergplanet"
;;
"Planet neun")
echo "$ planet noch nicht entdeckt" "
;;
*)
echo "nicht aus dem Sonnensystem"
;;
ESAC

Das Skript wird genauso ausgeführt wie das erste Beispiel. Es wird nach einem Planetennamen gefragt, prüfen.

Wenn Sie sorgfältig untersucht haben, werden Sie feststellen, dass „Planet neun“ der einzige Wert ist, der in Zitate eingewickelt ist. Es liegt daran, dass es Platz drin ist. Mit Zitaten sagen wir der Shell, sie als Teil eines einzelnen Musters zu behandeln.

Fallempfindlichkeit in Fallserklärung

Beachten Sie, dass der Eingang im letzten Beispiel Fallempfindlichkeit ist. Dies ist das Standard -Bash -Verhalten. Wir können die Shell jedoch aufweisen, das Skript im Fall-unempfindlichen Modus auszuführen.

Fügen Sie dazu die folgende Zeile zu Beginn des Skripts hinzu.

$ Shopt -s Nocasematch

Das Skript sollte so aussehen.


Testen Sie nun das Skript. Geben Sie den Wert mit einem anderen Fall ein.

$ ./Probe.Sch

Letzter Gedanke

Dieser Leitfaden deckt die Grundlagen von Bash -Fallanweisungen ab. Es zeigt auch, wie man sie in Bash -Skripten implementiert. Sie sollten sich mit der Fallerklärung wohl fühlen. Bash -Fallanweisungen werden häufig verwendet, um Parameter an Shell -Skripte aus einer Befehlszeile zu übergeben. Zum Beispiel die Init -Skripts verwenden Anweisungen zum Starten, Anhalten und Neustart von Diensten. Nach dem Lesen dieses Handbuchs können Sie die Bash -Fallanweisung in Ihren Skripten implementieren.

Happy Computing!