Les tests en bash
Pour faire des tests entre entier il faut placer le test entre double parenthèses.
Pour tester le résultat d’une commande il faut placer le test entre crochés.
En fait test est une commande qui va tester le statut d’une commande et qui lancera des actions en fonction du résultat de ce test.
Voir quelques conditions et les boucles, la liste complète est disponible en regardant le man
Il existe de nombreux test, pour en avoir la liste complète, vous pouvez faire un man test
test sur les fichiers | signification |
---|---|
-e fichier | vérifie que le fichier existe |
-d répertoire | vérifie que le répertoire existe |
-r fichier | le fichier est accessible en lecture |
-w fichier | le fichier est accessible en écriture |
test arithmétique | signification |
---|---|
$var1 -eq $var2 | vérifie que les deux valeurs sont égales |
$var1 -ne $var2 | vérifie que les deux valeurs sont différentes |
$var1 -lt $var2 | vérifie que $var1 est inférieur à $var2 |
$var1 -gt $var2 | vérifie que $var1 est supérieur à $var2 |
$var1 -le $var2 | vérifie que $var1 est inférieur ou égal à $var2 |
$var1 -ge $var2 | vérifie que $var1 est supérieur ou égal à var2 |
test sur les variables | signification |
---|---|
"$var1" = "$var2" | vérifie que $var1 contient $var2 |
"$var1" != "$var2" | vérifie que $var1 est différent de $var2 |
-n "$var1" | vérifie que $var1 contient une chaîne non nul |
-z "$var1" | vérifie que $var1 est de longueur nul |
Exemple
#!/bin/bash
nb1=2
nb2=3
if [ "$nb1" -le "$nb2" ] # si $nb1 est inférieur à $nb2
then echo "$nb1 est plus petit que $nb2"
fi