Je « m commence par bash et jai 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 lexécuter, je sais ce quil fait, mais pas à quoi servent -lt et -gt.
Quelquun peut-il me dire quel est le nom de ce genre d « outil » et ce quils (-lt et -gt) font? Merci!
Commentaires
Réponse
Cest labréviation de less than
et greater than
. Il « est utilisé pour la comparaison dentiers dans bash. Pour en savoir plus, saisissez man test
:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
Réponse
Vous pouvez trouver la définition de -lt
et -gt
dans la documentation de la test
commande (man test
), ou dans la documentation de bash puisque test
est une commande intégrée à 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 opérateurs égaux et non égaux -eq
et -ne
. Ce sont des opérateurs numériques, il y aura donc une erreur si lun ou lautre des côtés nest pas » ta number, et 9
est considéré moins de 10
.
Les noms de raison tels que -lt
sont utilisés plutôt que les signifie que le caractère <
serait interprété comme une redirection. Les opérateurs =
et !=
existent également, mais ils effectuent une comparaison de chaînes: test 00 -eq 0
est true alors que test 00 = 0
est false.
Certains shells, y compris bash, ont également des opérateurs <
et >
qui effectuent une comparaison lexicographique de chaînes, donc test 9 \< 10
est faux car 9
est trié 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 des doubles crochets pour les tests, par ex. [[ 9 < 10 ]]
(par opposition à [ 9 \< 10 ]
), qui ne peut « pas contenir de redirections donc le <
na pas besoin dêtre entre guillemets.
Réponse
Ce ne sont que des opérateurs.
Simplement: gt
et lt
signifie> (supérieur à) et < (inférieur à).
Vous pouvez regarder ici pour plus dinformations sur les opérateurs:
Réponse
Ce sont des opérateurs de comparaison
-lt = inférieur à
-gt = supérieur à
Vous pouvez consulter cette page pour plus de détails:
echo
dans le code répondent à votre question.