Verwenden von Regex in Bash -Fallanweisungen

Verwenden von Regex in Bash -Fallanweisungen
Regelmäßiger Ausdruck oder Regex sollen alphanumerische Saiten sind, die für die Erstellung von Suchanfragen verwendet werden. Regelmäßige Ausdrücke werden als Suche und Ersatz verwendet, während einige Bedingungen validieren. Regex kann in der Bash -Programmierung oder einer anderen Programmiersprache verwendet werden. Meistens ist Regex innerhalb der GREP -Anweisungen und nicht in den Fallanweisungen verwendbar. In diesem Leitfaden wird sehen, wie die regulären Ausdrücke bei der Verwendung des Ubuntu 20 mit der Fallerklärung funktionieren.04 Linux -System. Sie müssen sich vom System anmelden, bevor Sie weiter gehen.

Beispiel 01:

Oft fiel es den Benutzern schwierig, Regex (reguläre Ausdrücke) in den Anweisungen „Fall“ zu verwenden, da das „Regex“ in Fallanweisungen niemals funktioniert. Als Alternative wurde „Grep“ immer anstelle einer Fallerklärung zur Regex -Verwendung in Bash verwendet. Wir werden ein einfaches Beispiel sehen, um zu sehen, wie die Grep und die Fallarbeit bei gleichzeitigen Ausdrücken verwendet werden. Öffnen Sie also die Terminalkonsole, bevor Sie sich weiter über die Verknüpfung „Strg+Alt+T“ bewegen. Nach dem Öffnen des Terminals müssen Sie eine neue Bash -Datei mit der Touch -Abfrage erstellen.

$ Touch Test.Sch

Öffnen Sie nach der Erstellung der Bash -Datei sie, um den Bash -Code hinzuzufügen. Probieren Sie die unten angegebene Abfrage aus.

$ nano test.Sch

Die Bash -Datei wurde im "GNU -Editor" eröffnet. Fügen Sie den unten gezeigten Bash -Code hinzu, der sich in der Bash -Datei befindet. Dieser Code diskutiert die Verwendung von Grep, während ein regelmäßiger Ausdruck darin verwendet wurde. Fügen Sie zuerst die Bash -Erweiterung hinzu. Wir haben eine variable „S“ mit Platz und Zeichenfolgen als Wert deklariert. In der ersten Echo -Anweisung wird die Nachricht angezeigt, dass der Regex in diesem Beispielcode mit „Grep“ verwendet wurde. In der nächsten Zeile haben wir die Echo -Anweisung verwendet, um die Variable "S" anzuzeigen. Während der GREP wurde der Befehl verwendet, um den Text „Word1“ aus der Variablen „S“ zu durchsuchen, die dem im Bild angegebenen regulären Ausdruck entspricht. Speichern Sie Ihren Code und lassen Sie ihn über "Strg+S" und "Strg+x" in einer Zeile.

Es ist Zeit, unsere Bash -Datei auszuführen, um die Ergebnisse zu sehen. Wir haben also den Bash -Befehl verwendet, um die Datei „Test zu testen.Sch". Die Ausgabe zeigt das Ergebnis der Variablen „S“ zusammen mit der Nachricht „mit Grep“. Dies zeigt an, dass der Regex in den GREP -Aussagen perfekt funktioniert.

$ Bast Test.Sch

Lassen Sie uns diesmal dieselbe Ausgabe für die Fallanweisungen erstellen. Öffnen Sie also Ihre Bash -Datei im Editor erneut mit der Abfrage "Nano". Fügen Sie die Bash -Erweiterung hinzu und definieren Sie eine Variable "S" mit einem gewissen Wert. Wir haben die Anweisung „Echo“ verwendet, um jetzt die Verwendung der Fallerklärung zu nutzen. Wir haben die Fallanweisung gestartet, als wir die Variable „S“ innerhalb des im Code definierten regulären Ausdrucks durchsucht haben. Wenn es die passende Zeichenfolge findet, muss die Variable „S“ im Terminal drucken. Dann wurde die Fallerklärung mit dem Schlüsselwort „ESAC“ beendet.

Während des Ausführens der Bash -Datei innerhalb des Terminals stellt sich heraus, dass sie eine Ausnahme sagt: "Syntaxfehler in der Nähe des unerwarteten Tokens in [Ausdruck]". Dies zeigt lediglich, dass der reguläre Ausdruck nicht mit der Fallerklärung funktioniert.

$ Bash -Test.Sch

Beispiel 02:

Lassen Sie uns einen Blick auf ein anderes Beispiel für reguläre Bash -Ausdrücke werfen. Dieses Mal werden wir einen anderen regulären Ausdruck nutzen, um die Arbeit von Regex zu untersuchen. Auf der anderen Seite werden Regex anstelle der „Fallerklärung“ in der Erklärung „if“ arbeitet, anstatt in der Erklärung „Fall“ zu arbeiten. Öffnen Sie also den „Test“.SH ”Datei erneut.

$ nano test.Sch

Während die Datei jetzt geöffnet ist, haben wir die Bash -Erweiterung hinzugefügt und die Anweisung "if" verwendet, um die Bedingung zu starten. In der Anweisung "if" erlaubt es uns nicht, einen regelmäßigen Ausdruck hinzuzufügen. Deshalb haben wir den Ausdruck "= ~" verwendet, um den Regex im Code zu instanziieren. Innerhalb dieser Bedingung haben wir den Regex mit "$" als gültiger regulärer Ausdruck hinzugefügt. Wenn das hinzugefügte Zeichen mit der regulären Ausdrucksbedingung in der Anweisung "if" übereinstimmt, muss er diesen Ausdruck in einer Variablen "n" speichern und "gültig" drucken. Wenn die Bedingung nicht erfüllt ist, muss sie im Terminal "ungültig" drucken und die Anweisung "if" schließen. Speichern Sie einfach die Datei durch die Verknüpfung "Strg+S" und lassen Sie den Editor mit "Strg+x".

Wenn wir nun zum Terminal zurückkehren, haben wir die Ausführungsanweisung von Bash ausprobiert, um die Datei „Test auszuführen“.SH ”dreimal durch Parsen einiger Zeichen und Symbole. Diesmal haben wir @-, #- und F -Zeichen hinzugefügt. Alle Zeichen wurden gemäß dem Bash -Code für "ungültig" deklariert. Dies liegt daran, dass wir den regulären Ausdruck verwendet haben, um „$“ nur als gültig zu nehmen.

$ Bash -Test.Sch

Nehmen wir diesmal „$“ in der Ausführungsabfrage, um zu testen, wie es funktioniert. Es stellt sich heraus, dass das „$“ ein gültiger Ausdruck ist und die Ausgabe „gültig“ in der Konsolenhülle druckt.

$ Bash -Test.Sch

Beispiel 03:

Lassen Sie uns ein anderes und einfaches Beispiel für die Verwendung des regulären Ausdrucks innerhalb der Fallanweisung haben. Lassen Sie uns erneut den Bash -Test öffnen.sh ”Datei innerhalb des Herausgebers des Ubuntu 20.04 System.

$ nano test.Sch

Als Test.Die Sh -Bash -Datei wurde innerhalb des GNU Nano 4 gestartet.8 Herausgeber des Terminals, fügen Sie die Bash -Erweiterung zu Beginn einer Datei hinzu. Danach haben wir die Anweisung „Lese“ mit dem Flag „-P“ verwendet, um Eingaben als Servername vom Benutzer zu erhalten. Dieser Servername als Eingabe wird in der Variablen „Server“ gespeichert. Dieser Server muss eine Domänenserver -URL sein. Jetzt werden wir die Fallerklärung hier verwenden, um den regulären Ausdruck zu testen. Wir haben also die Fallanweisung mit dem Variablenserver gestartet, um zu überprüfen. Wenn der variable "Server" -Wert dem WS* ü[email protected], es wird die Echo -Anweisung verwenden, um anzuzeigen, dass diese Domäne „Webserver“ ist. Wenn es mit DB* ü[email protected], es wird die Anweisung "echo" verwendet, um anzuzeigen, dass der Server ein "DB -Server" ist. Wenn die Domain Bk* [email protected], es zeigt den „Backup -Server“ an. Andernfalls wird angezeigt, dass der Server unbekannt ist. Das Sternchen repräsentiert die Regex. Danach wird die Fallerklärung durch das Schlüsselwort „ESAC“ im Skript geschlossen. Speichern Sie diesen Code und beenden.

Testen wir diesen Bash -Code, indem Sie den Bash -Befehl mit dem Namen eines Tests ausführen.SH -Datei. Nach der Ausführung wird der Benutzer aufgefordert, den Benutzernamen hinzuzufügen. Wir haben einen gültigen WS -Servernamen mit 1234 als Regex und gedrückter Eingabetaste hinzugefügt. Es zeigt, dass die Serversyntax mit dem „Webserver“ übereinstimmt.

Wir haben eine weitere Ausführung durchgeführt und diesmal haben wir die Syntax eines Servers geändert. Da der Punkt aus der Domänen -URL übersehen wurde, wird angezeigt, dass der Server unbekannt ist.

Wenn wir eine ähnliche und korrekte Domäne hinzugefügt haben, wird der Name eines Servers angezeigt.

Abschluss:

In diesem Tutorial haben wir besprochen, wie eine Fallerklärung in Bash verwendet wird, um reguläre Ausdrücke zu verwenden. Wir hoffen, dieser Artikel hat Ihnen am besten geholfen, die Zweifel und Komplikationen zu beseitigen.