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 | 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 13:39] Hypathie [Opérateurs de comparaison numérique] |
doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique [31/05/2014 16:27] Hypathie [Opérateurs de comparaison numérique] |
||
---|---|---|---|
Ligne 44: | Ligne 44: | ||
| <= | Comparaison de plus petit ou égal que | | | <= | Comparaison de plus petit ou égal que | | ||
- | syntaxe : utilisation des doubles parenthèses : | + | * syntaxe : |
<code> | <code> | ||
Ligne 56: | Ligne 56: | ||
(("$a" > "$b")) | (("$a" > "$b")) | ||
</code> | </code> | ||
- | + | <note> | |
- | exemple : | + | Attention on ne vérifie pas si deux nombres sont égaux avec les doubles parenthèses car cela n'est pas une comparaison ! |
+ | </note> | ||
+ | * **exemple dans le terminal:** | ||
+ | <code=user> | ||
+ | (( nombre1 = 12 )) | ||
+ | #puis | ||
+ | (( nombre2 = 13 )) | ||
+ | #puis | ||
+ | (( "$nombre1" > "$nombre2" )) | ||
+ | #puis | ||
+ | echo $? | ||
+ | </code> | ||
+ | retour : | ||
+ | <code> | ||
+ | 1 | ||
+ | </code> | ||
+ | * **exemple avec le script "mon-script":** | ||
<code> | <code> | ||
#!/bin/bash | #!/bin/bash | ||
a=23 | a=23 | ||
b=2 | b=2 | ||
- | if (( "$a" > "$b" )) ; then | + | if (( "$a" < "$b" )) ; then |
- | echo "$a > $b" | + | echo " " |
fi | fi | ||
+ | echo "$a n'est pas inférieur à $b" | ||
</code> | </code> | ||
+ | **Remarquez bien : ** | ||
+ | <code=user> | ||
+ | ./mon-script | ||
+ | </code> | ||
+ | retour : | ||
+ | <code> | ||
+ | 23 n'est pas inférieur à 2 | ||
+ | </code> | ||
+ | **le code de retour est celui de l'exécution de la dernière commande ("echo "$a n'est pas inférieur à $b" ")du script !** | ||
+ | <code=user> | ||
+ | echo $? | ||
+ | </code> | ||
+ | retour : | ||
+ | <code> | ||
+ | 0 | ||
+ | </code> | ||
+ | (__Voir l'utilisation de la commande exit dans les script__) | ||
<note important> | <note important> | ||
**ATTENTION à la confusion avec les tests sur les chaînes de caractères !** | **ATTENTION à la confusion avec les tests sur les chaînes de caractères !** | ||
Ligne 80: | Ligne 113: | ||
d="24" | d="24" | ||
if test "$a" > "$b" ; then | 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." | + | echo "Attention ! incohérence "$c" > "$d" car avec test et crochets, |
+ | il doit s'agir de chaînes de caractères." | ||
fi | fi | ||
echo " " | echo " " | ||
Ligne 87: | Ligne 121: | ||
f="25" | f="25" | ||
if [ "$a" > "$b" ] ; then | 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." | + | echo "De même, Attention ! incohérence "$e" > "$f" car avec test et crochets, |
+ | il s'agit exclusivement de chaînes de caractères." | ||
fi | fi | ||
</code> | </code> | ||
Ligne 94: | Ligne 129: | ||
23 > 2 | 23 > 2 | ||
- | Attention ! incohérence 23 > 24 car avec test et crochets, il doit s'agir de chaînes de caractères. | + | Attention ! incohérence 23 > 24 car avec test et crochets, |
+ | il s'agit exclusivement 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. | + | De même, Attention ! incohérence 26 > 25 car avec test et crochets, |
+ | il s'agit exclusivement de chaînes de caractères. | ||
</code> | </code> | ||
</note> | </note> | ||
Ligne 111: | Ligne 148: | ||
|-lt |est plus petit que | | |-lt |est plus petit que | | ||
|-le |est plus petit ou égal à | | |-le |est plus petit ou égal à | | ||
+ | |||
- | **Syntaxe avec les crochets :** | + | * **Syntaxe avec les crochets :** |
<code> | <code> | ||
- | if [ "$a" -eq "$b" ] | + | if [ "$a" -eq "$b" ] ; then ... |
- | if [ "$a" -ne "$b" ] | + | if [ "$a" -ne "$b" ] ; then .. |
- | if ["$a" -gt "$b" ] | + | if ["$a" -gt "$b" ] ; then ... |
- | if [ "$a" -ge "$b" ] | + | if [ "$a" -ge "$b" ] ; then ... |
- | if [ "$a" -lt "$b" ] | + | if [ "$a" -lt "$b" ] ; then ... |
- | if [ "$a" -le "$b" ] | + | if [ "$a" -le "$b" ] ; then ... |
</code> | </code> | ||
- | Exemple : | + | * **Syntaxe avec la commande test :** |
+ | |||
+ | <code> | ||
+ | if test nombre -eq "$b" ; then ... ; then ... | ||
+ | if test "$a" -ne "$b" ; then ... | ||
+ | if test "$a" -gt "$b" ; then ... | ||
+ | if test "$a" -ge "$b" ; then ... | ||
+ | if test "$a" -lt "$b" ; then ... | ||
+ | if test "$a" -le "$b" ; then ... | ||
+ | </code> | ||
+ | **Exemple avec crochet dans un script:** | ||
<code> | <code> | ||
#!/bin/bash | #!/bin/bash | ||
Ligne 133: | Ligne 182: | ||
</code> | </code> | ||
- | **Syntaxe avec la commande test:** | + | **Exemple avec la commande test dans un script:** |
- | <code> | + | <code bash> |
if test 100 -gt 99 | if test 100 -gt 99 | ||
then | then | ||
Ligne 152: | Ligne 201: | ||
MAIS | MAIS | ||
- | 0 | + | |
<code> | <code> | ||
[ "LEbash" = "Labash" ]; echo $? #réponse 1 car l'expression est fausse. | [ "LEbash" = "Labash" ]; echo $? #réponse 1 car l'expression est fausse. |