Was bedeutet = ~ in Bash?

Was bedeutet = ~ in Bash?
Ein Bash -Programm ist ein einfaches Textdokument mit einer Reihe von Anweisungen darin. Diese Aussagen kombinieren Anweisungen, die wir auf die Eingabeaufforderung manuell aufgenommen haben (einschließlich solcher LS oder CP). Ebenso könnte auch immer Sie mit einem Skript erreichen können. Ein reguläres Ausdrucks -Matching -Zeichen, der = Operator, wird verwendet, um reguläre Ausdrücke zu identifizieren. Perl hat einen ähnlichen Operator für den regelmäßigen Ausdruck, der diesen Operator stimulierte. Lassen Sie uns einige Beispiele haben, um die Arbeit von = ~ Operator in Ubuntu 20 zu sehen.04.

Beispiel 01:

Zunächst müssen wir uns von unserem System angemeldet. Danach drücken Sie auf dem Desktop "Strg+Alt+T", um das Konsolenterminal in Ubuntu 20 zu öffnen.04. Als alternativer Weise können wir auch das Menü „Aktivität“ in der oberen linken Ecke des Desktops verwenden. Tippen Sie auf "Aktivität", und die Suchleiste wird aufgetaucht. Klicken Sie darauf und schreiben Sie "Terminal". Die Terminalanwendung wird aufgetaucht. Schlagen Sie es darauf, um es zu öffnen. Jetzt wurde das Terminal unter Verwendung einer der beiden genannten Methoden wie gezeigt geöffnet. Mal sehen, wie der = Operator darin funktioniert. Um ein Bash -Skript zu schreiben, müssen wir zunächst einige Bash -Dateien erstellen. Daher haben wir eine Datei erstellt „Neu.sh ”mit der typischen„ Berührung “der Konsole wie unten.

$ touch neu.Sch

Sie finden die erstellte Bash -Datei im Home -Ordner von Ubuntu 20.04. Wenn die Datei erstellt wird, werden wir ihnen ein Bash -Skript hinzufügen. Dafür müssen wir diese Datei im Terminal mit einem Editor öffnen. Also haben wir den Gnu Nano -Editor dafür verwendet, wie unten gezeigt.

$ nano neu.Sch

Jetzt wird die Datei im GNU -Editor geöffnet. Wir müssen den untergeklagten Bash-Code einsetzen. Sie können sehen, dass wir die Bash -Erweiterung in ihr hinzugefügt haben. Danach haben wir eine Variable „var“ mit einem String -Typ -Wert mit Zahlen und Alphabeten initialisiert. Wir haben die Anweisung "if" eingestellt, um die Bedingung zu überprüfen, wenn sie erfüllt oder nicht. Diese Bedingung prüft, ob die Variable „var“ die genannten Zeichen, Symbole und Alphabete auf der rechten Seite innerhalb der Bedingungsklausel enthält. Wenn das Muster einige Alphabete und Symbole enthält, werden innerhalb des Terminals per Echo -Anweisung „übereinstimmen“. Andernfalls "nicht übereinstimmen" drucken.

Speichern Sie das Bash -Skript durch Strg+S und beenden Sie über „Strg+X@. Führen wir die Bash -Datei „Neu aus.sh ”über Bash -Abfrage wie unten. Die Ausgabe zeigt die Ausgabe als „Matched“, da das variable Muster mit dem definierten Satz von Zeichen und Alphabeten übereinstimmt.

$ bash neu.Sch

Beispiel 02:

Lassen Sie uns diesmal ein einfacheres Beispiel haben. Öffnen Sie das gleiche „Neu.SH ”-Datei zum Aktualisieren des Inhalts. Verwenden Sie also die folgende Anweisung in der Shell erneut.

$ nano neu.Sch

Nachdem wir es im GNU -Editor geöffnet haben, aktualisieren wir es mit dem folgenden Skript von Bash. Bash hat einen konstruierten Muster -Matching -Vergleichsbetreiber, der durch = ~ aus Version 3 symbolisiert wurde (ungefähr 2004). Viele Skripttechniken, die früher alle Verwendung von Grep oder SED benötigten. Bash gibt eine 0 zurück, wenn ein Argument wie $ var = „[[0-9]]“ zeigt, dass das Feld links den Ausdruck rechts oder ein anderer an anderer Stelle erfüllt wie andere Kontrastoperatoren (e).G., -lt oder ==). Da wir den Wert „6“ für variable „var“ gegeben haben, erfüllt er die Bedingung, kehrt daher 0 zurück. Dann wird die Nachricht gedruckt, dass "6 eine Nummer ist". Wenn die Bedingung schief geht, druckt sie "nicht Nummer" aus. Wir haben die Datei durch "Strg+S" gespeichert und über die T -Taste "Strg+x" an das Terminal zurückgegeben.

Sobald wir die Datei erneut auf dem Terminal ausgeführt haben, zeigt sie an, dass „6 eine Nummer“ über die folgende Abfrage ist.

$ bash neu.Sch

Es wird die Meldung "6 ist eine Zahl" angezeigt, da die Variable "var" die Bedingung in der Anweisung "if" erfüllt. Lassen Sie uns unsere Variable aktualisieren, um die Ausgabe erneut anzuzeigen. Öffnen Sie die Bash -Datei noch einmal über:

$ nano neu.Sch

Nach dem Öffnen der Datei in einem Editor haben wir die Variable aktualisiert und ihr einen Zeichenstyp -Wert "G" zugewiesen, der einen Zeichenstyp -Wert "G" zugewiesen hat. Diesmal sollte die Bedingung nicht erfüllt sein und muss die zweite Echo -Aussage „nicht eine Zahl“ im Terminal ausgeben. Speichern und schließen Sie die Bash -Skriptdatei.

Bei der Ausführung der Bash -Datei haben wir die erwarteten Ergebnisse gefunden. Sie können einen Blick darauf werfen, der die Meldung "nicht eine Nummer" als Gegenleistung für die Anweisungsbedingung "if" angezeigt wird. Wir haben die angegebene Abfrage in der Konsole verwendet, um die Ausgabe zu sehen.

$ bash neu.Sch

Beispiel 03:

Nehmen wir ein sehr einfacheres, aber ein wenig anderes Beispiel. Öffnen Sie die Bash -Datei “neu.Sh ”wieder.

$ nano neu.Sch

Wenn Sie sich nicht sicher sind, was „regulärer Ausdruck“ bedeutet, finden Sie hier eine kurze Beschreibung. Eine Sequenz wird durch einen regulären Ausdruck dargestellt, bei dem es sich um eine Reihe von Buchstaben handelt. Zuerst haben wir eine Meldung „irgendetwas eingeben“ an einen Benutzer angezeigt und dann die Eingabe gelesen, die ein Benutzer über das Terminal eingibt. Anschließend haben wir die IF -Anweisung eingestellt, um zu überprüfen. In der folgenden Abbildung passt [0-9] die einzelne Zahl, aber [a-z] passen zu einem bestimmten Großbuchstaben. [A-Z]+ passt zu jeder Kombination aus oberer Fall. Der Ausdruck [A-Z]+$, aber auf der anderen Seite könnte eine Saite, die ausschließlich aus Großbuchstaben besteht.

Bei der Ausführung hat der Benutzer 9 eingegeben, 9. Es druckt, dass "9 eine Zahl ist".

Nach der Ausführung hat der Benutzer # eingegeben. Es wurde angezeigt, dass "# keine Nummer ist".

Wenn ein Benutzer "k" eingab, wird angezeigt, dass "k keine Nummer ist".

Beispiel 04:

Nehmen wir ein komplexes Beispiel, um den = Operator zu erläutern. Öffnen Sie die Datei noch einmal.

$ nano neu.Sch

Regex in Bash kann etwas schwierig sein. Wir prüfen, ob der Inhalt des Felds $ -M -E -Mail im gesamten Beispiel darunter eine E -Mail -Adresse erscheint. Es ist in der Tat erwähnenswert, dass der allererste Satz (der Kontoname) Buchstaben, Zahlen und spezielle Symbole enthalten kann. Das @ -Symbol erscheint zwischen dem Namen und auch der E-Mail-Site sowie einem wörtlichen Punkt (.) zwischen der Haupt -Web -Domain und dem „com“, „net“, „gov“ usw. gesehen. Dualhalterungen werden verwendet, um den Kontrast zu umgeben.

Bei der ersten Ausführung hat der Benutzer das richtige E -Mail -Muster eingegeben. Die Ausgabe zeigt die E -Mail mit einer Erfolgsnachricht an, dass "E -Mail korrekt ist".

Bei einer anderen Ausführung hat der Benutzer das falsche E -Mail -Muster eingegeben. Daher zeigt die E -Mail -Ausgabe die Fehlermeldung an, dass "E -Mail nicht korrekt erscheint".

Abschluss:

In diesem Leitfaden haben wir die Arbeit und Funktionalität des = Operators innerhalb des Bash -Skripts und das, was es in der Bash bedeutet, gesehen. Wir hoffen.