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

Ceci est une ancienne révision du document !


Bash : les opérateurs de comparaison numérique

RAPPEL DU PLAN DE LA SÉRIE :

1) Intro I : Bash : Introduction

2) chap II : Bash : Détail et caractères

3) chap III : Bash : les opérateurs lexicographiques

4) chap IV : C'est ici !

5) chap V : Bash : les symboles dans les calculs

6) chap VI : Bash : les tableaux

7) chap VII : Bash : les caractères de transformation de parametres

8) chap VIII : Bash : globs étendus et regex Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Opérateurs de comparaison numérique

Comme aux chapitre précédent on retrouve les opérateurs de comparaison booléens de comparaison (== , != , < , > , >=, ⇐ , ! )
et des caractères de comparaisons relatifs aux commandes de tests.

1) opérateurs booléens de comparaison numérique

Opérateur Description
== Comparaison d'un égalité
!= Comparaison d'une différence
> Comparaison de plus grand que
>= Comparaison de plus grand ou égal que
< Comparaison de plus petit que
Comparaison de plus petit ou égal que

syntaxe : utilisation des doubles parenthèses :

(( a = 23 ))  # Initialiser une valeur, style C, avec des espaces des deux
              # côtés du signe "=".

(("$a" < "$b"))

(("$a" <= "$b"))

(("$a" > "$b"))

exemple :

#!/bin/bash
a=23
b=2
if (( "$a" > "$b" )) ; then
	echo "$a > $b"
fi

2) Les caractères de comparaison liés aux commandes de tests

Caractère
-eq est égal à
-ne n'est pas égal à
-gt est plus grand que
-ge est plus grand ou égal à
-lt est plus petit que
-le est plus petit ou égal à

Exemple :

#!/bin/bash
a=2
b=1
if [ "$a" -gt "$b" ]
then
        echo "$a est plus grand que $b"
fi

3) Comparaison des syntaxes précédentes avec la syntaxe de la commande "test"

if test 100 -gt 99
then
	echo "vrai"   #réponse : vrai
else
	echo "faux"
fi

OU mieux :

test 100 -gt 99 && echo "vrai" || echo "faux"  # retour : vrai
text 100 -lt 99 && echo "vrai" || echo "faux"   # retour : faux

MAIS 0

[ "LEbash" = "Labash" ]; echo $?  #réponse 1 car l'expression est fausse. 
[ 5 -eq 5 ]; echo $?  # réponse : 0  car l'expression est vraie

Tuto précédent

La suite c'est ici :

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/programmation/shells/page-man-bash-iii-les-operateurs-de-comparaison-numerique.1401024742.txt.gz · Dernière modification: 25/05/2014 15:32 par Hypathie

Pied de page des forums

Propulsé par FluxBB