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