Wie vergleiche ich Zahlen in Bash?

Wie vergleiche ich Zahlen in Bash?
Sie haben die vielen Vergleichsoperationen erfahren, die verwendet werden können, um Variablen in der Bash zu kontrastieren. Manchmal konfrontieren Sie jedoch zahlreiche Situationen, in denen Sie Skripte entwickeln müssen, um bestimmte Aufgaben auszuführen und das Skript mehrmals auf bestimmten Zahlenwerten in Bash auszuführen. In diesen Situationen können wir die Bash -Operatoren nutzen, um Vergleiche von Ganzzahlzahlen herzustellen.

Verschiedene Möglichkeiten zum Vergleich von Ganzzahlvariablen im Bash -Skript:

Für den Ganzzahl -Zahlenvergleich werden wir zwei der wichtigsten Betreiber in Bash verwenden, um die Vergleiche zu erhalten, die quadratische und doppelte Klammern sind.

Weg 01: Einquadratische Klammern

Die quadratischen Klammern „[]“ werden auch als einquadratische Klammern bezeichnet, um den Befehl in Bash -Skripten zu testen. Nehmen wir einige Beispiele ein, die die Idee des Bash -Scripting unter Linux demonstrieren, damit wir die verschiedenen Operatoren von Bash schnell implementieren können. Hier sind einige Beispiele für die Verwendung verschiedener Operatoren in einzelnen Quadratklammern.

Beispiel 01: Verwendung von Operatoren "-eq" und "-ne"

Lassen Sie uns den „-eq“ -Preiber in die Praxis umsetzen, der feststellt. Um das Beispiel in die Praxis umzusetzen, müssen wir zunächst eine Bash -Skriptdatei erstellen, indem wir das Schlüsselwort "Touch" im Dateinamen verwenden und die Erweiterung "SH" hinzufügen. Der gesamte Befehl Dateierstellung lautet wie folgt:

linux@linux-virtualBox: ~ $ touch vergleichen.Sch

Wenn der oben genannte Befehl eingegeben wird, ist eine Datei mit dem Titel „Vergleichen.sh ”wird produziert. Damit wir den Code in die Tat umsetzen können, möchten wir dann in den Redakteur „Nano“ gehen. Um dies zu erreichen, werden wir das „Vergleichen“ hinzufügen.SH ”Befehl nach dem Schlüsselwort" Nano ", wie unten gezeigt:

linux@linux-virtualBox: ~ $ nano vergleichen.Sch

Der Nano -Redakteur wird nach dem Eintritt auf den Markt gebracht. Damit wir die beiden Ganzzahl -Zahlen vergleichen können, müssen wir den erforderlichen Code in diesem Abschnitt schreiben.

1: gleich dem Operator "-eq"

Wir haben in diesem Code zwei Variablen verwendet, die als "Variable1" und "variable2" bezeichnet werden, und wir haben das Schlüsselwort "Lese" verwendet, mit dem die Werte dieser Variablen vom Benutzer in der Laufzeit abgerufen werden. Die Anweisung "if" wurde dann verwendet, um festzustellen, ob die Ganzzahlzahlen gleich sind.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if [$ variable1 -eq $ variable2];
Dann
Echo "Beide Ganzzahlvariablen sind gleich ..."
anders
Echo "Beide Ganzzahlvariablen sind nicht gleich ..."
fi

Um den Nano -Editor zu schließen, nachdem Sie das Programm geschrieben haben, geben Sie „Strg + x.Dann kehrten wir noch einmal zum Haupt -Linux -Terminal zurück. Schreiben Sie "Bash" und den Dateinamen, um den Code auszuführen.

linux@linux-virtualBox: ~ $ bash vergleichen.Sch

Das Ergebnis des oben gezeigten Codes wird hier angezeigt:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
100
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
100
Beide Ganzzahlvariablen für Eingabe sind gleich…

2: Nicht dem Bediener des "-nischen"

Jetzt werden wir den Vergleichsoperator "-ne" verwenden, was "nicht gleich" bedeutet,. Über diesen Bediener überprüfen wir, dass „Variable1“ im Bash -Skript nicht gleich „variable2“ ist. Dafür haben wir einige Änderungen in der gleichen obigen Datei vorgenommen, die „vergleichen“ ist. Sch". Im geänderten Code haben wir nur die Werte und den Operator „-Eq“ mit "-ne" geändert, wie unten gezeigt:

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if [$ variable1 -ne $ variable2];
Dann
Echo "Beide Ganzzahlvariablen sind nicht gleich ..."
anders
Echo "Beide Ganzzahlvariablen sind gleich ..."
fi

Hier ist die gewünschte Ausgabe, die im Bild unten gezeigt wird:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
50
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
100
Beide Eingangsgültigkeitsvariablen sind nicht gleich…

Beispiel 02: Verwendung von Operatoren "-Gt" und "-lt"

Dies ist ein weiteres Beispiel dafür. Wir werden bewerten, ob „variable1“ in der Instanz größer oder weniger als „variable2“ ist.

1: größer als "-Gt" -Operator

Zunächst bestimmen wir, ob Variable 1 die Variable 2 überschreitet oder nicht überschreitet. Der Code-Snippet, der demonstriert.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if [$ variable1 -Gt $ variable2];
Dann
echo "Die Variable1 ist größer als variable2 ..."
anders
echo "Die Variable1 ist nicht größer als variable2 ..."
fi

Bei der Ausführung des Skripts zeigte das Ergebnis, dass "Variable1" größer als "variable2" war.

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
98
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
96
Die Variable1 ist größer als variable2…

2: Weniger als "-lt" -Operator

Verwenden Sie nun den Operator "-lt" in Bash-Scripting, ob "Variable1" kleiner als "variable2" ist oder nicht.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if [$ variable1 -lt $ variable2];
Dann
echo "Die Variable1 ist weniger als variable2 ..."
anders
echo "Die Variable1 ist nicht weniger als Variable2 ..."
fi

Betrachten Sie die Ergebnisse des oben angegebenen Beispiels:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
96
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
98
Die Variable1 ist weniger als variable2…

Beispiel 03: Verwendung des Bedieners "-ge" und "-le"

In diesem Beispiel werden wir überprüfen, ob Variable1 größer als Variable2 ist und ob es gleich oder nicht gleich Variable2 ist oder nicht.

1: größer als oder gleich dem Operator "-ge":

Wir werden den Operator "-Ge" verwenden, um zu überprüfen, ob das "Variable1" einen höheren Wert oder einen ausgeglichenen Wert für die "variable2" enthält.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if [$ variable1 -ge $ variable2];
Dann
echo "Die Variable1 ist größer als oder gleich Variable2 ..."
anders
echo "Die Variable1 ist nicht größer als oder nicht gleich oder nicht der Variablen2 ..."
fi

Durch das Schreiben des „Bash -Vergleichens.sh ”, wir haben die gewünschte Ausgabe:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
25
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
24
Die Variable1 ist größer oder gleich Variable2…

2: weniger als oder gleich dem Operator "-le"

Jetzt werden wir den „-le“ -Preiber im vorhandenen Code verwenden, damit wir prüfen können.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if [$ variable1 -le $ variable2];
Dann
echo "Die Variable1 ist weniger als oder gleich Variable2 ..."
anders
echo "Die Variable1 ist nicht weniger als oder nicht gleich oder nicht der Variablen2 ..."
fi

Schauen Sie sich den Ausgang im Linux -Anschluss an:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
11
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
11
Die Variable1 ist weniger oder gleich Variable2…

Weg 02: Doppelquadratische Klammern

Die "[]]" Doppelklammern erledigen die gleichen Arbeiten wie ein Quadratklammern in Bash. Im Gegenzug wird die Bash jedoch nichts zurückgeben, außer 0, wenn die Bedingung wahr ist, und 1 zurückgibt, wenn die Bedingung falsch ist. Jetzt werden wir verschiedene Beispiele für die zweite Art der Verwendung des Vergleichsbetreibers im Bash -Scripting implementieren.

Beispiel 01: Verwendung von () Operator

Das Folgende ist eine bestimmte Situation einer doppelten Quadratverschlüsselung, in der wir das „>“ und “anwenden werden<” indicators to determine if the value of “variable1” is greater than or less than the “variable2” parameter. First, we have created an entirely new file for the double square brackets technique for that:

linux@linux-virtualBox: ~ $ Touch Double.Sch

Wir haben den Befehl nano verwendet, um den Nano -Editor einzugeben:

linux@linux-virtualBox: ~ $ nano doppelte.Sch

Unser aktueller Redakteur ist der Nano -Editor. Beginnen wir mit dem Schreiben von Code:

1: Weniger als “<” Operator

Hier ist das Beispiel von weniger als, wo wir zwei Variablen haben und die Werte vom Benutzer erhalten, sodass wir "Lesen" verwendet haben. Dann werden wir die weniger als den Betrieb auf diesen Variablen ausführen.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if (($ variable1) < $variable2 ));
Dann
echo "Die Bedingung ist wahr"
echo "return 0"
anders
echo "Die Bedingung ist falsch"
echo "return 1"
fi

Um das Skript zu kompilieren, haben wir zusammen mit dem Dateinamen den Befehl „Bash“ verwendet:

linux@linux-virtualBox: ~ $ Bash Double.Sch

Hier ist die Ausgabe:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
76
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
102
Der Zustand ist wahr
Rückkehr 0

2: größer als ">" Bediener

Jetzt werden wir den nächsten Operator verwenden, das Symbol ">", um festzustellen, ob der Wert "variable1" größer ist oder nicht. Wie Sie sehen können, in diesem Fall:

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if (($ variable1> $ variable2));
Dann
echo "Die Bedingung ist wahr"
echo "return 0"
anders
echo "Die Bedingung ist falsch"
echo "return 1"
fi

Nach der Ausführung des Skripts im Linux -Terminal haben wir diese Ausgabe erhalten:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
27
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
22
Der Zustand ist wahr
Rückkehr 0

Beispiel 02: Verwendung von (=) Operatoren

Nachdem das zweite Beispiel implementiert wurde, können wir den Bash -Skript -Operator „> =“ verwenden, um festzustellen, ob der Wert von Variable1 kleiner oder gleich dem Wert von Variable2 ist.

1: weniger als oder gleich ““<=” Operator

In diesem Fall werden wir in diesen Variablen den weniger oder gleichen Wert überprüfen und die Ausgabe drucken.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if (($ variable1) <= $variable2 ));
Dann
echo "Die Bedingung ist wahr"
echo "return 0"
anders
echo "Die Bedingung ist falsch"
echo "return 1"
fi

Das Ergebnis der oben genannten Demonstration wird im folgenden Screenshot angezeigt:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
65
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
65
Der Zustand ist wahr
Rückkehr 0

2: größer als oder gleich dem Operator "> ="

Im folgenden Beispiel wird der Operator "> =" aus dem Bash -Scripting verwendet, um zu überprüfen, ob „D1“ und „D2“ Werte aufweisen, die größer oder gleich sind.

Echo "Geben Sie eine Integer -Variable Eingabe ein:"
Variable lesen1
echo "Geben Sie eine Integer -Variable 2:" ein: "
Variable lesen2
if (($ variable1> = $ variable2));
Dann
echo "Die Bedingung ist wahr"
echo "return 0"
anders
echo "Die Bedingung ist falsch"
echo "return 1"
fi

Folgt den beabsichtigten Ergebnissen des Beispiels:

Geben Sie eine Ganzzahl -Eingabe -Variable1 ein:
44
Geben Sie eine Ganzzahl -Eingabe -Variable2 ein:
44
Der Zustand ist wahr
Rückkehr 0

Abschluss

Wir haben gelernt, wie man das Bash -Skript verwendet, um Ganzzahlen zu vergleichen. Darüber hinaus haben wir behandelt, wie mehrere Operatoren in einem Bash -Skript verwendet werden können. Mit gründlichen Erklärungen haben wir zahlreiche Beispiele für diese Bediener in Bash -Skripten erstellt.