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 →
Ceci est une ancienne révision du document !
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 sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
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.
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
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
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
test expression ou bien [ expression ] $ test -f /etc/gaga $ [ -f /etc/gaga ] $ echo $? $ echo $? 1 1 $ $
Dans les deux cas, le fichier /etc/gaga n'existe pas.
(Si le fichier /etc/gaga existait, le retour serait 0.)
Ils s'utilisent avec les tests.
Opérateur | Signification |
---|---|
! | Négation |
-a | ET |
-o | OU |
Et dans un ordre précis :
Le fichier “toto” n'est pas un répertoire :
[ ! -d /etc/group ] echo $? 0
Le fichier mon-script existe et est exécutable :
[ -f mon-script -a -x mon-script ] echo $? 0