Ich fange mit bash an und habe folgendes herausgefunden:
if test $first -lt $second
then
echo $first is lower than $second
else
if test $first -gt $second
then
echo $first is higher than $second
else
echo $first and $second are equals
fi
fi
Um das Skript zu lesen und auszuführen, weiß ich, was es tut, aber nicht, wofür -lt und -gt sind.
Kann mir jemand sagen, wie diese Art von "Werkzeug" heißt und was sie (-lt und -gt) tun? Vielen Dank!
echo
Aussagen im Code Ihre Frage beantworten.Antworten:
Es ist eine Abkürzung für
less than
undgreater than
. Es wird für den Ganzzahlvergleich in Bash verwendet. Sie können mehr lesen, indem Sie Folgendes eingebenman test
:quelle
Sie finden die Definition von
-lt
und-gt
in der Dokumentation destest
Befehls (man test
) oder in der Dokumentation von bash, da bashtest
einen eingebauten Befehl enthält (wie in den meisten anderen Shells).-lt
und-gt
sind numerische Vergleiche (kleiner als [und nicht gleich], größer als [und nicht gleich]). Es gibt auch weniger / mehr oder gleiche Operatoren-le
und-ge
und gleiche und ungleiche Operatoren-eq
und-ne
. Dies sind numerische Operatoren, daher tritt ein Fehler auf, wenn keine Seite eine Zahl ist und9
als kleiner als betrachtet wird10
.Der Grund, warum Namen wie verwendet
-lt
werden,<
ist, dass das Zeichen<
als Umleitung interpretiert wird. Die Operatoren=
und sind!=
ebenfalls vorhanden, führen jedoch einen Zeichenfolgenvergleich durch:test 00 -eq 0
ist wahr, währendtest 00 = 0
falsch ist.Einige Muscheln, einschließlich bash, haben auch Betreiber
<
und>
die führen einen String lexicographic Vergleich, sotest 9 \< 10
ist falsch , weil9
vor sortiert ist1
(die Backslash verhindert das Zeichen<
aus als Umleitungsoperator interpretiert wird). Diese Shells bieten auch die doppelte Klammer-Syntax für Tests, z. B.[[ 9 < 10 ]]
(im Gegensatz zu[ 9 \< 10 ]
), die keine Umleitungen enthalten, sodass<
sie nicht in Anführungszeichen gesetzt werden müssen.quelle
Sie sind nur Betreiber.
Einfach:
gt
undlt
bedeuten> (größer als) und <(kleiner als).Sie können sehen hier , um weitere Informationen zu Operatoren:
quelle
Dies sind Vergleichsoperatoren
-lt = weniger als
-gt = größer als
Sie können diese Seite für weitere Details überprüfen:
quelle