Beginnend mit bash: -lt und -gt Argumente

Ich beginne mit bash und habe Folgendes gefunden:

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 es heißt Diese Art von „Werkzeug“ und was sie (-lt und -gt) tun? Danke!

Kommentare

  • Entschuldigung, aber ich bin es wert, darauf hinzuweisen Stellen Sie sicher, dass die Anweisungen echo im Code Ihre Frage beantworten.
  • Es fehlen Anführungszeichen um die Variablen

Antwort

Es ist die Abkürzung für less than und greater than. Es wird für den Ganzzahlvergleich in Bash verwendet. Sie können mehr lesen, indem Sie man test eingeben:

 .... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 .... 

Antwort

Die Definition von -lt und -gt finden Sie in die Dokumentation des Befehls test (man test) oder in Die Dokumentation von bash seit test ist ein in bash integrierter Befehl (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 / größer oder gleich Operatoren -le und -ge sowie gleiche und ungleiche Operatoren -eq und -ne. Dies sind numerische Operatoren. Es tritt also ein Fehler auf, wenn eine Seite keine“ ta number „ist und 9 berücksichtigt wird weniger als 10.

Die Grundnamen wie -lt werden anstelle der üblichen bedeutet, dass das Zeichen < als Umleitung interpretiert wird. Die Operatoren = und != sind ebenfalls vorhanden, führen jedoch einen Zeichenfolgenvergleich durch: test 00 -eq 0 ist true, während test 00 = 0 false ist.

Einige Shells, einschließlich bash, haben auch die Operatoren < und >, die einen lexikografischen Zeichenfolgenvergleich durchführen. test 9 \< 10 ist also falsch, da 9 vor 1 (der Backslash verhindert, dass das Zeichen < als Umleitungsoperator interpretiert wird). Diese Shells bieten auch die Doppelklammer-Syntax für Tests, z. [[ 9 < 10 ]] (im Gegensatz zu [ 9 \< 10 ]), die keine Umleitungen enthalten kann, so dass die < muss nicht in Anführungszeichen gesetzt werden.

Antwort

Sie sind nur Operatoren.

Einfach: gt und lt bedeuten> (größer als) und < (kleiner als).

Weitere Informationen zu Operatoren finden Sie hier .

Antwort

Dies sind Vergleichsoperatoren

-lt = kleiner als

-gt = größer als

Sie können diese Seite überprüfen Weitere Details:

http://tldp.org/LDP/abs/html/comparison-ops.html

Schreibe einen Kommentar

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