Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique [31/05/2014 12:09] Hypathie [Opérateurs de comparaison numérique] |
doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique [31/05/2014 12:58] Hypathie [Opérateurs de comparaison numérique] |
||
---|---|---|---|
Ligne 66: | Ligne 66: | ||
fi | fi | ||
</code> | </code> | ||
+ | |||
+ | <note important> | ||
+ | **ATTENTION à la confusion avec les tests sur les chaînes de caractères !** | ||
+ | <code bash> | ||
+ | a=23 | ||
+ | b=2 | ||
+ | if (( "$a" > "$b" )) ; then | ||
+ | echo "$a > $b" | ||
+ | fi | ||
+ | echo " " | ||
+ | |||
+ | c="23" | ||
+ | d="24" | ||
+ | if test "$a" > "$b" ; then | ||
+ | echo "Attention ! incohérence "$c" > "$d" car avec test et crochets, il doit s'agir de chaînes de caractères." | ||
+ | fi | ||
+ | echo " " | ||
+ | |||
+ | e="26" | ||
+ | f="25" | ||
+ | if [ "$a" > "$b" ] ; then | ||
+ | echo "De même, Attention ! incohérence "$e" > "$f" car avec test et crochets, il doit s'agir de chaînes de caractères." | ||
+ | fi | ||
+ | </code> | ||
+ | Retour: | ||
+ | <code> | ||
+ | 23 > 2 | ||
+ | |||
+ | Attention ! incohérence 23 > 24 car avec test et crochets, il doit s'agir de chaînes de caractères. | ||
+ | |||
+ | De même, Attention ! incohérence 26 > 25 car avec test et crochets, il doit s'agir de chaînes de caractères. | ||
+ | </code> | ||
+ | </note> | ||
====2) Opérateurs de comparaison de nombres avec la commande test ou les crochets==== | ====2) Opérateurs de comparaison de nombres avec la commande test ou les crochets==== | ||
Ligne 128: | Ligne 161: | ||
</code> | </code> | ||
+ | <note important> | ||
+ | ATTENTION : | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | var1=8 | ||
+ | var2=7 | ||
+ | if test "$e" -gt "$f" ; then | ||
+ | echo " $var1 est plus grand que $var2 " | ||
+ | fi | ||
+ | echo " " | ||
+ | if test 8 -gt 7 ; then | ||
+ | echo " $var1 est plus grand que $var2 " | ||
+ | fi | ||
+ | </code> | ||
+ | retour: | ||
+ | <code> | ||
+ | : ligne 18 : test: : nombre entier attendu comme expression | ||
+ | |||
+ | 8 est plus grand que 7 | ||
+ | </code> | ||
+ | </note> | ||
====Conclusion sur les tests ==== | ====Conclusion sur les tests ==== | ||
- | **Nous avons vu qu'il était possible de faire des tests sur [[atelier:chantier:la-page-man-bash-ii-les-operateurs-lexicographiques#caracteres-de-comparaison-sur-les-chaines-de-caracteres|les chaînes de caractères]] ; sur [[atelier:chantier:la-page-man-bash-ii-les-operateurs-lexicographiques#tests-sur-les-fichiers|les fichiers]], sur [[atelier:chantier:page-man-bash-iii-les-operateurs-de-comparaison-numerique#operateurs-de-comparaison-numerique|les nombres]].**\\ | + | **Nous avons vu qu'il était possible de faire des tests sur [[atelier:chantier:la-page-man-bash-ii-les-operateurs-lexicographiques#caracteres-de-comparaison-sur-les-chaines-de-caracteres|les chaînes de caractères]] (la commande test ou les crochets) ; sur [[atelier:chantier:la-page-man-bash-ii-les-operateurs-lexicographiques#tests-sur-les-fichiers|les fichiers]] (la commande test ou les crochets), sur [[atelier:chantier:page-man-bash-iii-les-operateurs-de-comparaison-numerique#operateurs-de-comparaison-numerique|les nombres]].**\\ |
**Il y a deux mécanismes pour effectuer des tests, la paire de crochets et la commande test.**\\ | **Il y a deux mécanismes pour effectuer des tests, la paire de crochets et la commande test.**\\ | ||
**Elle s'utilise avec les mêmes expressions de comparaison mais avec une autre syntaxe :**\\ | **Elle s'utilise avec les mêmes expressions de comparaison mais avec une autre syntaxe :**\\ |