Commençant par bash: arguments -lt et -gt

Je commence avec bash et j'ai trouvé ce qui suit:

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 

Pour lire le script et l'exécuter, je sais ce qu'il fait, mais pas pour quoi -lt et -gt sont pour.

Quelqu'un peut-il me dire quel est le nom de ce type d'outil et ce qu'ils font (-lt et -gt)? Merci!

C'est court pour less than et greater than . Il est utilisé pour la comparaison d'entier dans bash. Vous pouvez en lire plus en tapant man test :

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

Vous pouvez find la définition de -lt et -gt dans la documentation de la command test ( man test ), ou dans la documentation de bash puisque test est une command embeddede dans bash (comme dans la plupart des autres shells).

-lt et -gt sont des comparaisons numériques (inférieures à [et non égales], supérieures à [et non égales]). Il y a aussi des opérateurs less / plus grand-ou-égal -le et -ge , et des opérateurs égaux et non égaux -ne et -ne . Ce sont des opérateurs numériques, il y aura donc une erreur si l'un des côtés n'est pas un nombre, et 9 est considéré comme inférieur à 10 .

La raison pour laquelle les noms comme -lt sont utilisés plutôt que l'habituel < est que le caractère < serait interprété comme une redirection. Les opérateurs = et != Existent aussi, mais ils effectuent une comparaison de strings: le test 00 -eq 0 est vrai alors que le test 00 = 0 est faux.

Ainsi, test 9 \< 10 est faux car 9 est sortingé avant 1 (la barre oblique inverse empêche le caractère < d'être interprété comme un opérateur de redirection). Ces shells offrent également la syntaxe à double bracketing pour les tests, par exemple [[ 9 < 10 ]] (contrairement à [ 9 \< 10 ] ), qui ne peut pas avoir de redirections à l'intérieur.

Ce ne sont que des opérateurs.

Simplement: gt et lt signifient> (supérieur à) et <(inférieur à).

Vous pouvez regarder ici pour plus d'informations sur les opérateurs:

Ce sont des opérateurs de comparaison

-lt = inférieur à

-gt = supérieur à

Vous pouvez vérifier cette page pour plus de détails:

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