« Programmation Bash/Tests » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Signification |
||
Ligne 40 : | Ligne 40 : | ||
vrai si c1 et c2 sont différents, |
vrai si c1 et c2 sont différents, |
||
* <code>[ -z c ]</code> |
* <code>[ -z c ]</code> |
||
vrai si c est la chaîne vide, |
vrai si c est la chaîne vide (''Zero''), |
||
* <code>[ -n c ]</code> |
* <code>[ -n c ]</code> |
||
vrai si c n'est pas la chaîne vide. |
vrai si c n'est pas la chaîne vide (''Non zero''). |
||
== Tests sur les nombres == |
== Tests sur les nombres == |
||
Ligne 48 : | Ligne 48 : | ||
Pour les nombres : |
Pour les nombres : |
||
* <code>[ n1 -eq n2 ]</code> |
* <code>[ n1 -eq n2 ]</code> |
||
vrai si n1 et n2 sont égaux, |
vrai si n1 et n2 sont égaux (''EQual''), |
||
* <code>[ n1 -ne n2 ]</code> |
* <code>[ n1 -ne n2 ]</code> |
||
vrai si n1 et n2 sont différents, |
vrai si n1 et n2 sont différents (''Not Equal''), |
||
* <code>[ n1 -lt n2 ]</code> |
* <code>[ n1 -lt n2 ]</code> |
||
vrai si n1 est strictement inférieur à n2, |
vrai si n1 est strictement inférieur à n2 (''Less Than''), |
||
* <code>[ n1 -le n2 ]</code> |
* <code>[ n1 -le n2 ]</code> |
||
vrai si n1 est inférieur ou égal à n2, |
vrai si n1 est inférieur ou égal à n2 (''Less or Equal''), |
||
* <code>[ n1 -gt n2 ]</code> |
* <code>[ n1 -gt n2 ]</code> |
||
vrai si n1 est strictement supérieur à n2, |
vrai si n1 est strictement supérieur à n2 (''Greater Than''), |
||
* <code>[ n1 -ge n2 ]</code> |
* <code>[ n1 -ge n2 ]</code> |
||
vrai si n1 est supérieur ou égal à n2. |
vrai si n1 est supérieur ou égal à n2 (''Greater or Equal''). |
||
== Tests et logique == |
== Tests et logique == |
||
Ligne 65 : | Ligne 65 : | ||
vrai si e est faux. ! est la négation. |
vrai si e est faux. ! est la négation. |
||
* <code>[ e1 -a e2 ]</code> |
* <code>[ e1 -a e2 ]</code> |
||
vrai si e1 et e2 sont vrais. -a ou le et logique. |
vrai si e1 et e2 sont vrais. -a ou le et logique (''And''). |
||
* <code>[ e1 -o e2 ]</code> |
* <code>[ e1 -o e2 ]</code> |
||
vrai si e1 ou e2 est vrai. -o ou le ou lgogique. |
vrai si e1 ou e2 est vrai. -o ou le ou lgogique (''Or''). |
||
Version du 5 mars 2007 à 15:19
Syntaxe du test
Deux syntaxes équivalentes permettent de tester des expressions :
[ expression ]
ou
test expression
Ces deux commandes renvoient un code de retour valant 0 si l'expression est vraie et 1 si l'expression est fausse.
Exemple :
$ [ 2 = 2 ] $ echo $? 0 $ [ 2 = 3 ] $ echo $? 1
La commande test
fonctionne de manière complétement équivalente :
$ test 2 = 2 $ echo $? 0 $ test 2 = 3 $ echo $? 1
Tests sur les chaînes de caractères
Les opérateurs de tests disponibles sont, pour les chaînes :
[ c1 = c2 ]
vrai si c1 et c2 sont égaux,
[ c1 != c2 ]
vrai si c1 et c2 sont différents,
[ -z c ]
vrai si c est la chaîne vide (Zero),
[ -n c ]
vrai si c n'est pas la chaîne vide (Non zero).
Tests sur les nombres
Pour les nombres :
[ n1 -eq n2 ]
vrai si n1 et n2 sont égaux (EQual),
[ n1 -ne n2 ]
vrai si n1 et n2 sont différents (Not Equal),
[ n1 -lt n2 ]
vrai si n1 est strictement inférieur à n2 (Less Than),
[ n1 -le n2 ]
vrai si n1 est inférieur ou égal à n2 (Less or Equal),
[ n1 -gt n2 ]
vrai si n1 est strictement supérieur à n2 (Greater Than),
[ n1 -ge n2 ]
vrai si n1 est supérieur ou égal à n2 (Greater or Equal).
Tests et logique
Ou comment introduire une alternative logique :
[ ! e ]
vrai si e est faux. ! est la négation.
[ e1 -a e2 ]
vrai si e1 et e2 sont vrais. -a ou le et logique (And).
[ e1 -o e2 ]
vrai si e1 ou e2 est vrai. -o ou le ou lgogique (Or).