Você pode encontrar a definição -lte -gtna documentação do testcomando ( man test) ou na documentação do bash, pois testé um comando interno no bash (como na maioria dos outros shells).
-lte -gtsão comparações numéricas (menor que [e não igual], maior que [e não igual]). Existem também operadores menos / maiores ou iguais -lee -ge, e operadores iguais e não iguais -eqe -ne. Como são operadores numéricos, haverá um erro se um dos lados não for um número e 9for considerado menor que 10.
A razão pela qual nomes como -ltsão usados e não o habitual <é que o caractere <seria interpretado como um redirecionamento. Os operadores =e !=também existem, mas eles realizam uma comparação de cadeias: test 00 -eq 0é verdadeira enquanto test 00 = 0é falsa.
Alguns shells, incluindo o bash, também possuem operadores <e >que realizam uma comparação lexicográfica de strings, portanto, isso test 9 \< 10é falso porque 9foi classificado anteriormente 1(a barra invertida impede que o caractere <seja interpretado como um operador de redirecionamento). Esses shells também oferecem a sintaxe de colchetes duplos para testes, por exemplo [[ 9 < 10 ]](ao contrário de [ 9 \< 10 ]), que não podem ter redirecionamentos internos para <que não precisem ser citados.
echoinstruções no código respondem à sua pergunta.