Verwendung von Not Equal to the Operator in Bash

In Bash gibt es viele Arten von Operatoren, um die Gleichheit oder Ungleichheit zweier Zeichenfolgen oder Zahlen zu überprüfen. Die Operatoren „-ne“ und „!=“ werden verwendet, um die Ungleichheit zweier Werte in Bash zu überprüfen. Die einzelnen Terzklammern ([ ]) werden in der „if“-Bedingung verwendet, wenn der „!=“-Operator zur Überprüfung der Ungleichheit verwendet wird. Die doppelte Terzklammer ([[ ]]) werden in der „if“-Bedingung verwendet, wenn der „-ne“-Operator zur Überprüfung der Ungleichung verwendet wird. In diesem Tutorial werden die Methoden zum Vergleichen von Zeichenfolgen- und numerischen Werten mithilfe dieser Operatoren gezeigt.

Verwendung des „!=“-Operators

Mit dem Operator „!=“ kann die Ungleichheit zwischen zwei numerischen Werten oder zwei String-Werten überprüft werden. In den folgenden Beispielen werden zwei Verwendungsmöglichkeiten dieses Operators gezeigt.

Beispiel 1: Überprüfen der Ungleichheit zwischen Zahlen

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das eine Zahleneingabe entgegennimmt, und prüfen Sie mithilfe des Operators „!=“, ob der Eingabewert gleich 10 ist oder nicht. Die einzelnen Terzklammern ([ ]) werden hier in der „if“-Bedingung verwendet.

#!/bin/bash
#Zieh eine Nummer
echo -n „Geben Sie eine Zahl ein:“
Nummer lesen

#Verwenden Sie den Operator „!=“, um den Zahlenwert zu überprüfen
Wenn [ $number != 10 ]; Dann
echo „Die Zahl ist ungleich 10.“
anders
echo „Die Zahl ist gleich 10.“
fi

Das Skript wird in der folgenden Ausgabe zweimal ausgeführt. Zwölf (12) wird bei der ersten Ausführung als Eingabe verwendet und „Die Zahl ist ungleich 10“ wird ausgegeben. Zehn (10) wird in der zweiten Ausführung als Eingabe verwendet und „Die Zahl ist gleich 10“ wird ausgegeben:

Beispiel 2:

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das zwei Zeichenfolgenwerte akzeptiert, und prüfen Sie mithilfe des Operators „!=“, ob die Eingabewerte gleich sind oder nicht. Die einzelnen Terzklammern ([ ]) werden hier in der „if“-Bedingung verwendet.

#!/bin/bash
#Zieh eine Nummer
echo -n „Geben Sie den ersten String-Wert ein:“
lese str1
echo -n „Geben Sie den zweiten String-Wert ein:“
lese str2

#Verwenden Sie den Operator „!=“, um die Zeichenfolgenwerte zu überprüfen
Wenn [ „$str1“ != „$str2“ ]; Dann
echo „Die Zeichenfolgen sind nicht gleich.“
anders
echo „Die Zeichenfolgen sind gleich.“
fi

Das Skript wird in der folgenden Ausgabe zweimal ausgeführt. Die Zeichenfolgenwerte „Hello“ und „hello“ werden bei der ersten Ausführung als Eingaben verwendet und diese Werte sind nicht gleich, da bei den Zeichenfolgenwerten zwischen Groß- und Kleinschreibung unterschieden wird. Bei der nächsten Ausführung werden die Zeichenfolgenwerte „hello“ und „hello“ als gleiche Eingaben verwendet:

Verwendung des „-ne“-Operators

Der „-ne“-Operator kann zum Überprüfen der Ungleichheit zwischen zwei numerischen Werten verwendet werden, jedoch nicht zum Vergleichen der Zeichenfolgenwerte. In den folgenden Beispielen werden zwei Verwendungsmöglichkeiten dieses Operators zum Vergleichen von numerischen Werten und Zeichenfolgenwerten gezeigt.

Beispiel 1:

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das den Benutzernamen als Eingabe verwendet. Als nächstes wird die Länge des Eingabewerts gezählt, nachdem das Newline-Zeichen (\n) entfernt wurde. Ob die Länge des Benutzernamens 8 beträgt oder nicht, wird mit dem Operator „-ne“ überprüft. Die doppelte Terzklammer ([[ ]]) werden hier in der „if“-Bedingung verwendet.

#!/bin/bash
#Nehmen Sie den Benutzernamen
echo -n „Benutzernamen eingeben:“
Benutzernamen lesen

#Neue Zeile aus dem Eingabewert entfernen
username=`echo $username | tr -d ‚\n“
#Zähle das gesamte Zeichen
len=${#username}

#Verwenden Sie den Operator „-ne“, um den Zahlenwert zu überprüfen
Wenn [[ $len -ne 8 ]]; Dann
echo „Benutzername muss 8 Zeichen lang sein.“
anders
echo „Benutzername: $Benutzername“
fi

Das Skript wird in der folgenden Ausgabe zweimal ausgeführt. Bei der ersten Ausführung wird „admin“ als Eingabe übernommen und „Benutzername muss 8 Zeichen lang sein“ ausgegeben. „durjoy23“ wird in der zweiten Ausführung als Eingabe übernommen und der „Benutzername: durjoy23“ wird ausgegeben:

Beispiel 2:

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, das den Benutzernamen als Eingabe verwendet. Als nächstes wird mit dem Operator „-ne“ geprüft, ob der Eingabewert gleich „admin“ ist oder nicht. Die doppelte Terzklammer ([[ ]]) werden hier in der „if“-Bedingung verwendet. Der Operator „-ne“ funktioniert nicht zum Vergleichen zweier Zeichenfolgenwerte.

#!/bin/bash
#Nehmen Sie den Benutzernamen und das Passwort
echo -n „Benutzernamen eingeben:“
Benutzernamen lesen

#Neue Zeile aus dem Eingabewert entfernen
username=`echo $username | tr -d ‚\n“

#Verwenden Sie den Operator „-ne“, um die Zeichenfolgenwerte zu überprüfen
Wenn [[ „$username“ -ne „admin“ ]]; Dann
echo „Ungültiger Benutzer.“
anders
echo „Gültiger Benutzer.“
fi

Das Skript wird in der folgenden Ausgabe zweimal ausgeführt. Die „if“-Bedingung wird in beiden Ausführungen für die gültigen und ungültigen Ausgaben als wahr zurückgegeben, was eine „falsche“ Ausgabe darstellt:

Abschluss

Die Methode zum Vergleichen zweier Werte mit den Operatoren „!=“ und „-ne“ wird in diesem Tutorial anhand mehrerer Beispiele gezeigt, um die Verwendung dieser Operatoren richtig kennenzulernen.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen