Je commence par 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 à quoi servent -lt et -gt.
Quelqu'un peut-il me dire quel est le nom de ce type d'outil et ce qu'il fait (-lt et -gt)? Merci!
echo
déclarations du code répondent à votre question.Réponses:
C'est court pour
less than
etgreater than
. Il est utilisé pour la comparaison d'entiers dans bash. Vous pouvez en savoir plus en tapantman test
:la source
Vous pouvez trouver la définition de
-lt
et-gt
dans la documentation de latest
commande (man test
), ou dans la documentation de bash car iltest
s'agit d'une commande intégrée 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 existe également des opérateurs inférieurs / supérieurs ou égaux-le
et-ge
, et des opérateurs égaux et non égaux-eq
et-ne
. Ce sont des opérateurs numériques, il y aura donc une erreur si l'un ou l'autre côté n'est pas un nombre et9
est considéré comme inférieur à10
.La raison pour laquelle des noms comme ceux-ci
-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 chaîne:test 00 -eq 0
est vrai alorstest 00 = 0
est faux.Certains shells, y compris bash, ont également des opérateurs
<
et>
qui effectuent une comparaison lexicographique de chaîne, ce quitest 9 \< 10
est faux car9
trié avant1
(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 parenthèse pour les tests, par exemple[[ 9 < 10 ]]
(par opposition à[ 9 \< 10 ]
), qui ne peuvent pas avoir de redirections à l'intérieur, donc il<
n'est pas nécessaire de les citer.la source
Ce ne sont que des opérateurs.
Simplement:
gt
etlt
signifie> (supérieur à) et <(inférieur à).Vous pouvez consulter ici pour plus d'informations sur les opérateurs:
la source
Ce sont des opérateurs de comparaison
-lt = moins de
-gt = supérieur à
Vous pouvez consulter cette page pour plus de détails:
la source