¿Qué significa el operador `-gt` en los scripts de Shell?

¿Qué significa el operador `-gt` en los scripts de Shell?

Hola tengo esta frase y quiero saber que significa por favor.

if [[ -z "$1" ]]; then   #  --> this is if the value of the parameter $1 is zero
    PASO=1
elif [[ "$1" -gt 1 ]] ; then  # but i don't know what this flags mean? .."-gt"
    LOG "[$(date +%T)] Parametros incorrectos"
    exit 255
else
    PASO=$1
fi

¿Que -gtsignifica?

Respuesta1

-gtsignifica "mayor que". Se utiliza para comparar números enteros para la desigualdad que generalmente se escribe >en otros idiomas (en algunos shells, con la testutilidad o inside [ ... ], >compara dos cadenas para el orden lexicográfico, por lo que tiene un significado muy diferente al de -gt).

-gtestá documentado en el manual de testo [, o en el manual de su shell si se trata de utilidades integradas, como

n1 -gt n2

Verdadero si el número entero n1es algebraicamente mayor que el número entero n2; en caso contrario, falso.

(lo anterior está tomado deel texto estándar POSIX sobre la testutilidad)

Fortran también utiliza esta abreviatura en su .GT.operador relacional para números.

Los otros operadores relevantes para comparar números enteros en el shell con testo en [ ... ]son -ge("mayor que o igual"), -lt("menor que"), -le("menor que o igual"), -eq("igual") y -ne(" no es igual").

Curiosamente,todode estos son los mismos en Fortran ( .GT., .GE., .LT., .LE.y ) .EQ...NE.

Respuesta2

$ help test
test: test [expr]
    Evaluate conditional expression.
...
      arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                     -lt, -le, -gt, or -ge.

    Arithmetic binary operators return true if ARG1 is equal, not-equal,
    less-than, less-than-or-equal, greater-than, or greater-than-or-equal
    than ARG2.

Respuesta3

Puede comenzar con help test, que mostrará la ayuda del subconjunto POSIX de la sintaxis admitida por el [[operador.

Una documentación completa se encuentra en la CONDITIONAL EXPRESSIONSsección de man bash.

Específicamente:

Other operators:
  ...
  arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                 -lt, -le, -gt, or -ge.

Arithmetic binary operators return true if ARG1 is equal, not-equal,
less-than, less-than-or-equal, greater-than, or greater-than-or-equal
than ARG2.

información relacionada