Dieser Leitfaden zeigt, wie der Befehl Bash -Test verwendet wird.
Testbefehl
Der Testbefehl nimmt eine AUSDRUCK als Argument. Nach der Berechnung des Ausdrucks gibt der Test einen Wert auf die Bash -Variable „$?”. Wenn der Wert 0 ist, war die Expressionsbewertung wahr. Wenn der Wert 1 ist, war die Expressionsbewertung falsch.
Es gibt zwei Syntaxe für die Verwendung des Testbefehls.
$ Test Ausdruck
$ [Ausdruck]
Beachten Sie, dass bei „[“ [[“an beiden Enden des AUSDRUCK.
Testergebrauch
Hier ist ein kurzes Beispiel dafür, wie der Testbefehl funktioniert. Wir werden überprüfen, ob 1 gleich 2 ist. Wenn wahr, ist die Ausgabe „wahr“. Andernfalls ist die Ausgabe "falsch".
$ test 1 -eq 2 && echo "true" || echo "falsch"
Lassen Sie es uns aufschlüsseln.
Wenn der Testteil wahr ist, wird der erste Echobefehl ausgeführt. Andernfalls wird der zweite Echobefehl ausgeführt.
Der gleiche Befehl kann mit "[" ausgedrückt werden.
$ [1 -eq 2] && echo "true" || echo "falsch"
Ausdruck
Der Ausdruck gibt dem Testbefehl seine wahre Kraft. Der Test kann Strings, Dateien und Ganzzahlen zum Vergleich verwenden. Hier ist eine kurze Liste aller verfügbaren Testausdruckformate.
Saite
In der Programmierung ist eine Zeichenfolge eine Reihe von Zeichen, die im Allgemeinen zur Darstellung von Text verwendet werden. Zum Beispiel wird „Hallo Welt“ im folgenden Echo -Befehl als Zeichenfolge behandelt.
$ echo „Hallo Welt.”
Der Testbefehl unterstützt die folgenden String -Ausdrücke.
Probieren wir diese Ausdrücke aus.
$ [-n "Hello World"] && echo "wahr" || echo "falsch"
$ [-Z "Hallo Welt"] && echo "wahr" || echo "falsch"
$ ["Hallo Welt" != "Hallo Welt"] && echo "wahr" || echo "falsch"
$ ["Hallo Welt" = "Hallo Welt"] && echo "wahr" || echo "falsch"
Ganze Zahl
Das allererste Beispiel in diesem Handbuch zeigt einen Ganzzahlvergleich. Es gibt weitere Möglichkeiten, Ganzzahlen zu vergleichen.
Lassen Sie uns diese Ausdrücke in die Tat umsetzen.
$ [5 -EQ 10] && echo "true" || echo "falsch"
$ [5 -GT 2] && echo "true" || echo "falsch"
$ [4 -le 5] && echo "true" || echo "falsch"
Datei
Dateien können auch Teil des Ausdrucks sein. Hier ist die Liste der unterstützten Dateiausdrücke.
Der Rest der unterstützten Dateiausdrücke bezieht sich auf eine einzelne Eigenschaft einer einzelnen Datei.
Schauen wir uns einige Beispiele an.
$ [-x/usr/bin/bash] && echo $?
$ [-s /bin /bash] && echo $?
$ [-r /bin] && echo $?
$ [-e /hello_world] && echo "true" || echo "falsch"
Implementieren von Tests in Bash -Skripten
Bisher haben wir gezeigt, wie der Testbefehl verwendet wird, um festzustellen, ob eine bestimmte Bedingung wahr oder falsch ist. Wir können dies in Bash -Skripte implementieren, um nützliche Entscheidungen zu treffen.
Schauen Sie sich das folgende kurze Skript an.
#!/Bin/Bash
wenn [$ (whoami) = root]; Dann
echo "root"
anders
echo "nicht root"
fi
Hier prüft die IF -Anweisung, ob die Bedingung wahr oder falsch ist. Mit dem Testbefehl können wir den booleschen Wert problemlos erhalten.
Führen Sie das Skript mit und ohne Root -Privileg aus.
$ ./Dummy.Sch
$ sudo ./Dummy.Sch
Es ist eine einfache If-ELSE-Aussage-Demonstration. Schauen Sie sich die Bash-IF-ELSE-Aussagen an, um weitere eingehende Anwendungen zu erhalten.
Abschließende Gedanken
Der Testbefehl ist einfach, aber leistungsfähig. Dieser Leitfaden erklärt und demonstriert verschiedene Möglichkeiten zur Verwendung des Tests. Die vollständige Liste aller unterstützten Ausdrücke finden Sie auf der Mannseite.
$ MAN -Test
Happy Computing!