Chapitre 3 / 6
Les conditions
La structure if
age=20
if [ "$age" -ge 18 ]; then
echo "Majeur"
else
echo "Mineur"
fi
On peut enchaîner avec elif :
if [ "$note" -ge 10 ]; then
echo "Admis"
elif [ "$note" -ge 8 ]; then
echo "Rattrapage"
else
echo "Recalé"
fi
Les opérateurs de test
| Catégorie | Opérateurs |
|---|---|
| Nombres | -eq -ne -lt -le -gt -ge |
| Chaînes | = !=, -z (vide) / -n (non vide) |
| Fichiers | -f (fichier) -d (dossier) -e (existe) -r/-w/-x |
if [ -f "/etc/passwd" ]; then echo "Le fichier existe"; fi
if [ -z "$1" ]; then echo "Aucun argument fourni"; fi
💡 Guillemete toujours tes variables dans un test : si
$xest vide,[ "$x" = "y" ]reste valide, alors que[ $x = y ]provoque une erreur.
Combiner des conditions
if [ "$age" -ge 18 ] && [ "$pays" = "FR" ]; then
echo "Majeur en France"
fi
&& = ET, || = OU.
Le cas de figure : case
Plus lisible qu'une longue série de elif :
case "$1" in
start) echo "Démarrage" ;;
stop) echo "Arrêt" ;;
restart) echo "Redémarrage" ;;
*) echo "Usage : $0 {start|stop|restart}" ;;
esac
Le *) est le cas par défaut (aucun motif ne correspond).
Ensuite : répéter des actions avec les boucles.