Leçon 20 : conditions en bash
Le script de la leçon précédente crée une sauvegarde — mais ne signale pas s'il a réussi. On va lui ajouter une condition if. [ -f file ] vérifie l'existence d'un fichier ; [ -d dir ] vérifie l'existence d'un répertoire ; [ $? -eq 0 ] vérifie un code de sortie. [ est une vraie commande — des espaces
if, c'est simplement 'si' : [ -f ] demande 'est-ce que le fichier existe ?', then signifie 'alors', et fi ferme le bloc — c'est juste if écrit à l'envers. Une seule chose à retenir : [ ] est une commande à part entière, donc elle a besoin d'espaces autour d'elle comme n'importe quelle commande.
- if bash
- if [ condition ]; then ... fi. [ ] renvoie le code de sortie 0 (true) ou 1 (false). then ouvre le corps du bloc. fi (=if à l'envers) le ferme. else sur une ligne séparée est possible pour un bloc alternatif.
- opérateurs test
- -f : fichier ordinaire existant. -d : répertoire existant. -e : chemin existant (tout type). -eq : égal (nombres). -ne : différent. -z : chaîne vide. -n : chaîne non vide.