Les structures de contrôle
If then else fi
if <liste de commandes 1>
then <liste de commandes 2>
else <liste de commandes 3>
fi
Si liste de commandes 1 retourne un exit à 0, alors exécution de la liste de commandes 2, sinon, c’est la liste de commandes 3 qui est exécutée.
Case
case <chaîne> in
<motif>) <liste de commandes> ; ;
<motif>) <liste de commandes> ; ;
…
*) <commandes par défaut> ; ;
esac
Exemple :
case exp in
1) liste de commandes 1; ;
2) liste de commandes 2; ;
[345]) liste de commandes 345; ;
*) commandes ; ;
esac
Si la valeur de exp vaut 1, alors exécuter la liste de commandes 1, si valeur 2, listes de commandes 2,
Si la valeur vaut 3, 4 ou 5, liste des commandes 345
Enfin, pour toutes les autres valeurs, faire commandes
L’itération bornée (for)
For <variable> in <chaîne1> <chaine2>…
Do <liste des commandes>
Done
Ou
For <variable>
Do <liste des commandes>
Done
Variable va prendre la valeur de chaque chaîne avant d’exécuter
la partie do…done.
Dans le deuxième cas, variable va prendre la valeur de chaque paramètre
de $# avant d’exécuter la partie do…done
Exemple :
for i in *
do
chmod 700 $i
done
L’itération non bornée
Tant que …
while <liste de commandes>
do <liste de commandes>
done
ou
jusqu'à ce que…
until <liste de commandes>
do <liste de commandes>
done