Vergleichen Sie die Zeichenfolge in Bash

Vergleichen Sie die Zeichenfolge in Bash

Die Notwendigkeit, Zeichenfolgen in einem Bash -Skript zu vergleichen, ist relativ häufig und kann verwendet werden, um bestimmte Bedingungen zu überprüfen. Eine Zeichenfolge kann jede Abfolge von Zeichen sein. Um zu testen, ob zwei Saiten gleich sind, müssen beide Zeichenfolgen genau die gleichen Zeichen und in derselben Reihenfolge enthalten. Es könnte ein Wort oder ein ganzer Satz sein. Zum Beispiel, String eins ist gleich String eins ist aber nicht gleich String zwei. Bekomme eine Vorstellung?

In dieser Anleitung zeigen wir Ihnen, wie Sie Strings in der Bash -Shell auf einem Linux -System vergleichen können. Wir werden dies im Kontext eines einfachen If/sonst -Bash -Skripts zeigen, damit Sie sehen können, wie das Testen für diesen Zustand bei der Entwicklung von Skripten funktionieren würde, aber wir werden auch zeigen, wie derselbe Vergleich im Befehlszeilenterminal durchgeführt werden kann.

In diesem Tutorial lernen Sie:

  • Wie man Strings in Bash vergleicht
  • Beispiel, wenn/sonst Drehbücher vergleicht, die Zeichenfolgen vergleichen
Vergleich von Saiten in Bash Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Jede Linux -Distribution
Software N / A
Andere Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl.
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Vergleichen Sie, ob zwei Saiten gleich sind

Sie können ein Terminal für Ihr System öffnen und einige dieser Beispiele verwenden, um ein Gefühl dafür zu bekommen, wie Bash -Operatoren beim Vergleich von Zeichenfolgen arbeiten.

Sie können die folgende Syntax verwenden, um zwei Zeichenfolgen zu vergleichen.

$ ["apples" = "apples"] $ echo $? 0 

Der zurückgegebene Wert von 0 bedeutet wahr. Mit anderen Worten, die Saiten stimmen überein (wie wir für uns selbst deutlich sehen können).



Versuchen wir einen anderen.

$ ["apples" = "Orangen"] $ echo $? 1 

In diesem Beispiel, Äpfel ist nicht gleich Orangen, Also ein Wert von 1 (falsch) wird zurückgegeben. Komplexere Beispiele finden sich am besten im Kontext von Bash -Skripten, die wir im nächsten Abschnitt behandeln.

Beispiel -Bash -Skripte, um Zeichenfolgen zu vergleichen

In einem Bash -Skript speichern Sie normalerweise einen oder beide Ihrer Zeichenfolgen als Variablen, bevor Sie sie vergleichen. Hier ist ein einfaches Beispiel.

#!/bin/bash string1 = "apples" string2 = "orangen" if ["$ string1" = "$ string2"]; dann echo "Die beiden Saiten sind gleich."sonst echo" Die beiden Saiten sind nicht gleich."Fi
Kopieren

Das Ausführen dieses Skripts erzeugt die folgende Ausgabe.

Die beiden Saiten sind nicht gleich. 

Aber = Ist uns nicht der einzige Bediener, der uns zur Verfügung steht. Wir könnten auch testen, ob zwei Saiten nicht gleich mit dem sind != Operator.

#!/bin/bash string1 = "apples" string2 = "orangen" if ["$ string1" != "$ string2"]; Dann sind Echo "Saiten unterschiedlich.Saiten "sonst echo" sind nicht anders."Fi
Kopieren

Das Ausführen dieses Skripts erzeugt die folgende Ausgabe.

Saiten sind unterschiedlich. 

Es gibt auch -z um zu testen, ob die Stringlänge 0 beträgt, und -N Zum Testen, ob die Stringlänge ungleich Null ist.

#!/bin/bash string = "" if [[-z $ string]]; dann echo "Die Zeichenfolge ist leer."sonst echo" Die Zeichenfolge ist nicht leer."Fi
Kopieren

Das Ausführen dieses Skripts erzeugt die folgende Ausgabe.

Die Zeichenfolge ist leer. 

Und das gleiche Skript mit -N und stattdessen eine Zeichenfolge ungleich Null:



#!/bin/bash string = "hello" if [[-n $ string]]; dann echo "Die Zeichenfolge ist nicht leer."sonst echo" Die Zeichenfolge ist leer."Fi
Kopieren

Das Ausführen dieses Skripts erzeugt die folgende Ausgabe.

Die Zeichenfolge ist nicht leer. 

Abschluss

In diesem Leitfaden haben wir gesehen. Diese Funktionalität kann natürlich auf robustere Skripte ausgeweitet werden, die Eingaben von Benutzern lesen oder den Fallbetreiber usw. verwenden.

Dies sind alle Vergleichsmethoden, die Sie benötigen, um Strings in Bash zu vergleichen. Noch mehr existieren beim Vergleich von Zahlen wie die -lt (weniger als) und -gt (größer als) Operatoren. Aber wir behandeln das ausführlicher in unserem Bash -Skriptführer.

Verwandte Linux -Tutorials:

  • Bash -Skript: String -Vergleichsbeispiele
  • VIM -Editor -Grundlagen in Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Mastering -Bash -Skriptschleifen beherrschen
  • Spezielle Bash -Variablen mit Beispielen
  • Hung Linux System? Wie man zur Befehlszeile entkommt und…
  • Verschachtelte Schleifen in Bash -Skripten
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux