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 [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 09:08] Hypathie [Opérateurs booléens de comparaison de nombres] |
||
---|---|---|---|
Ligne 93: | Ligne 93: | ||
**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 337: | Ligne 340: | ||
=== 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===== | ||