logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [06/07/2014 08:42]
Hypathie [Pour aller plus loin : les opérateurs logiques.]
doc:programmation:shells:page-man-bash-iii-les-operateurs-de-comparaison-numerique [06/07/2014 11:46]
Hypathie [2) Opérateurs de comparaison de nombres avec la commande test ou les crochets]
Ligne 60: Ligne 60:
 echo $? echo $?
 </​code>​ </​code>​
-retour : 
 <​code>​ <​code>​
 1 1
Ligne 68: Ligne 67:
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
-a=23 ; b=2+a=; b=2
 if (( "​$a"​ < "​$b"​ )) ; then if (( "​$a"​ < "​$b"​ )) ; then
-  echo " "+  echo " ​$a < $b " 
 +else 
 +  echo "$a n'est pas inférieur à $b"
 fi fi
-echo "$a n'est pas inférieur à $b" 
- 
 </​code>​ </​code>​
  
 +Puis :
  
 <code user> <code user>
 ./​mon-script ; echo $? ./​mon-script ; echo $?
 </​code>​ </​code>​
- 
-Remarquez bien le retour suivant, c' est celui de l'​exécution de la dernière commande (echo) du script : 
- 
 <​code>​ <​code>​
-23 n'est pas inférieur à 2+n'est pas inférieur à 2
 0 0
 </​code>​ </​code>​
  
-Voir [[atelier:​chantier:​script-bash-etat-de-sorie-et-les-tests#​utiliser-la-commande-exit|utilisation de la commande exit]] dans les script+Pour le code de retour 0 : voir [[atelier:​chantier:​script-bash-etat-de-sorie-et-les-tests#​utiliser-la-commande-exit|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 !**
 <code bash> <code bash>
 +#!/bin/bash
 a=23 a=23
-b=2 +b=4 
-if (( "​$a" ​"​$b"​ )) ; then+if (( "​$a" ​"​$b"​ )) ; then
  echo "$a > $b"  echo "$a > $b"
 +else
 + echo "aïe : $a < $b ???" ​
 fi fi
 echo " " echo " "
 + 
 c="​23"​ c="​23"​
 d="​24"​ d="​24"​
-if test "$a" > "$b" ; then+if test "$c" > "$d" ; then
   echo "​Attention ! incohérence "​$c"​ > "​$d"​ car avec test et crochets, ​   echo "​Attention ! incohérence "​$c"​ > "​$d"​ car avec test et crochets, ​
-        il doit s'agir de chaînes de caractères."​+        il s'agit de tests sur les chaînes de caractères."​
 fi fi
 echo " " echo " "
 + 
 e="​26"​ e="​26"​
 f="​25"​ f="​25"​
-if [ "$a" > "$b" ] ; then  +if [ "$e" > "$f" ] ; then  
-  echo "De même, Attention ! incohérence ​"​$e" ​"​$f" ​car avec test et crochets, ​ +  echo "De même, Attention ! "​$e" ​n'est pas plus grand que "​$f"​  
-         il s'agit exclusivement de chaînes de caractères."+ mais après "​$f"​ selon l'ordre des caractères ​ASCII !!!"
 fi fi
 </​code>​ </​code>​
 Retour: ​ 8-O Retour: ​ 8-O
 <​code>​ <​code>​
-23 > 2+aïe : 23 < 4 ???
    
 Attention ! incohérence 23 > 24 car avec test et crochets, ​ Attention ! incohérence 23 > 24 car avec test et crochets, ​
-             il s'​agit ​exclusivement ​de chaînes de caractères.+        ​il s'agit de tests sur les chaînes de caractères.
    
-De même, Attention ! incohérence ​26 25 car avec test et crochets, ​ +De même, Attention ! 26 n'est pas plus grand que 25  
-             il s'agit exclusivement de chaînes de caractères.+ mais après 25 selon l'ordre des caractères ​ASCII !!!
 </​code>​ </​code>​
 </​note>​ </​note>​
Ligne 207: Ligne 207:
 test 17 -gt 11 ; echo $? test 17 -gt 11 ; echo $?
 </​code>​ </​code>​
-retour: 
 <​code>​ <​code>​
 0 0
Ligne 215: Ligne 214:
 var1=17 ; var2=11 ; test "​$var1"​ -gt "​$var2"​ ; echo $? var1=17 ; var2=11 ; test "​$var1"​ -gt "​$var2"​ ; echo $?
 </​code>​ </​code>​
-retour : 
 <​code>​ <​code>​
 0 0
Ligne 227: Ligne 225:
 fi fi
 </​code>​ </​code>​
-retour de ./​mon-script : 
  
 +<code user>
 +./​mon-script :
 +</​code>​
 <​code>​ <​code>​
 2 est plus grand que 1 2 est plus grand que 1
Ligne 243: Ligne 243:
 fi fi
 </​code>​ </​code>​
-retour de ./​mon-script+ 
 +<code user> 
 +./​mon-script 
 +</​code>​
 <​code>​ <​code>​
 vrai vrai
Ligne 262: Ligne 265:
 fi fi
 </​code>​ </​code>​
-retour de ./​mon-script ​+ 
 +<code user> 
 +./​mon-script 
 +</​code>​
 <​code>​ <​code>​
  : ligne 18 : test:  : nombre entier attendu comme expression  : ligne 18 : test:  : nombre entier attendu comme expression
Ligne 337: Ligne 343:
 === syntaxe : === === syntaxe : ===
 Le fichier "​toto"​ n'est pas un répertoire : Le fichier "​toto"​ n'est pas un répertoire :
-<​code>​+<​code ​user>
 [ ! -d /etc/group ] [ ! -d /etc/group ]
- echo $?+</​code>​ 
 +<code user> 
 +echo $? 
 +</​code>​ 
 +<​code>​
 0 0
 </​code>​ </​code>​
 +//Il est vrai (retour 0) que ce "​n'​est pas"// ;-)
  
 Le fichier mon-script existe et est exécutable : Le fichier mon-script existe et est exécutable :
-<​code>​+<​code ​user>
 [ -f mon-script -a -x mon-script ] [ -f mon-script -a -x mon-script ]
 +</​code>​
 +<code user>
 echo $? echo $?
 +</​code>​
 +<​code>​
 0 0
 </​code>​ </​code>​
- 
 =====Tuto précédent===== =====Tuto précédent=====
  
doc/programmation/shells/page-man-bash-iii-les-operateurs-de-comparaison-numerique.txt · Dernière modification: 30/09/2023 23:06 (modification externe)

Pied de page des forums

Propulsé par FluxBB