Sommaire

Structures conditionnelles

Les structures conditionnelles permettent de n’exécuter certaines actions que sous certaines conditions. C’est un élément essentiel de tout langage de programmation ! Les scripts shells offrent les mêmes fonctionnalités que les autres langages, avec le mot-clé if. Toutefois, le fonctionnement de ces structures est ici découpé en plusieurs éléments, là où une instruction if dans d’autres langages se suffit à elle-même.

1. Commande test

La commande test est la base du fonctionnement habituel des structures conditionnelles : elle effectue des tests ou des comparaisons et génère un code retour de 0 si le test réussit ou 1 si le test échoue.

Prenons un exemple simple :

$ val="truc" 
$ test "$val" = "truc" 
$ echo $? 
0  
$ test "$val" = "machin" 
$ echo $? 
1

Cette commande est capable de comparer ou tester des chaînes de caractères, des nombres entiers (mais ne comprend pas les nombres à virgules) ainsi que des fichiers.

Certains shells (dont Zsh) implémentent cette commande nativement, évitant d’instancier un processus pour chaque test à effectuer ; son fonctionnement reste toutefois le même.

Cette commande peut également être appelée par le caractère [, dans ce cas il faut terminer la liste des arguments par le caractère ...