Il y a 2 types de boucles shell
1) la boucle "while" ou "until"
Syntaxe:
while instruction
do
...
done
until instruction
do
...
done
La boucle "while" bouclera tant que l'instruction renvoie un statut à "vrai". La boucle "until" bouclera jusqu'à ce que l'instruction renvoie un statut à "vrai" (ou tant que le statut est "faux").
La grande subtilité de la boucle réside dans l'instruction qui suit le mot "while" ou "until". En effet, on peut placer ici n'importe quelle instruction shell, pourvu que cette dernière renvoie un statut vrai ou faux.
En général, on voit beaucoup de "while test ..." mais ce n'est pas obligatoire. On peut aussi mettre "while grep ..." (tant que le "grep" renvoie "vrai", "while read". On peut même mettre "while un_autre_script_shell" pourvu que cet autre script shell se termine par "exit 0" ou "exit 1"
2) la boucle for
syntaxe:
for var in elem1 elem2 elem3 ... elemX
do
...
done
Ici, le shell bouclera autant de fois qu'il y a d'élément. et à chaque boucle, la variable "var" prendra la valeur de l'élément 1, élément2, etc.
Cette boucle est plutôt réservée aux scripts où on sait à l'avance combien on aura d'élément.
On peut parfois voir "for var" tout court. Les éléments de boucle sont alors pris dans la variable "$*" contenant les arguments passés au script
Poste le Friday 1 October 2004 22:17:14