Puede encontrar la definición de -lty -gten la documentación del testcomando ( man test), o en la documentación de bash ya que testes un comando incorporado en bash (como en la mayoría de los otros shells).
-lty -gtson comparaciones numéricas (menor que [y no igual], mayor que [y no igual]). También hay operadores menores / mayores o iguales -ley -ge, operadores iguales y no iguales -eqy -ne. Estos son operadores numéricos, por lo que habrá un error si alguno de los lados no es un número y 9se considera menor que 10.
La razón por la que -ltse 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 0es verdadero mientras que test 00 = 0es falso.
Algunos shells, incluido bash, también tienen operadores <y >realizan una comparación lexicográfica de cadenas, por lo que test 9 \< 10es falso porque 9está ordenado antes 1(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.
echodeclaraciones en el código responden a su pregunta.