Estoy empezando con bash y encontré lo siguiente:
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
Para leer el script y ejecutarlo, sé lo que hace, pero no para qué sirven -lt y -gt.
¿Alguien puede decirme cuál es el nombre de ese tipo de 'herramienta' y qué hacen (-lt y -gt)? ¡Gracias!
echo
declaraciones en el código responden a su pregunta.Respuestas:
Es la abreviatura de
less than
ygreater than
. Se utiliza para la comparación de enteros en bash. Puede leer más escribiendoman test
:fuente
Puede encontrar la definición de
-lt
y-gt
en la documentación deltest
comando (man test
), o en la documentación de bash ya quetest
es un comando incorporado en bash (como en la mayoría de los otros shells).-lt
y-gt
son comparaciones numéricas (menor que [y no igual], mayor que [y no igual]). También hay operadores menores / mayores o iguales-le
y-ge
, operadores iguales y no iguales-eq
y-ne
. Estos son operadores numéricos, por lo que habrá un error si alguno de los lados no es un número y9
se considera menor que10
.La razón por la que
-lt
se usan nombres como en lugar de lo habitual<
es que el personaje<
se interpretaría como una redirección. Los operadores=
y!=
también existen, pero realizan una comparación de cadenas:test 00 -eq 0
es verdadero mientras quetest 00 = 0
es falso.Algunos shells, incluido bash, también tienen operadores
<
y>
realizan una comparación lexicográfica de cadenas, por lo quetest 9 \< 10
es falso porque9
está ordenado antes1
(la barra invertida evita que el carácter<
sea interpretado como un operador de redireccionamiento). Estos shells también ofrecen la sintaxis de doble paréntesis para las pruebas, por ejemplo[[ 9 < 10 ]]
(en lugar de[ 9 \< 10 ]
), que no pueden tener redirecciones en el interior, por lo que<
no es necesario citarlas.fuente
Son solo operadores.
Simplemente:
gt
ylt
significa> (mayor que) y <(menor que).Puede consultar aquí para obtener más información sobre operadores:
fuente
Estos son operadores de comparación
-lt = menos de
-gt = mayor que
Puede consultar esta página para más detalles:
fuente