Newer
Older
cours-unix-shell / src / shell / controle.md

Structures de contrôle - Shell - UNIX

for

Syntaxe

for var [in liste]
do
     liste_commandes
done

La variable var prend successivement les valeurs de la liste.
Si la liste est omise, var prend alors les valeurs passées en paramètres du script ($*).

Exemples

for i
do
    echo $i
done
for i in `ls`
do
    cp $i /dir/$i
    echo "$i copié"
done

Il ne faut pas oublier les apostrophes inversées (ou quotes inverses) ` qui forcent l'exécution du ls.

while

Syntaxe

while commande
do
   liste_commandes
done

Exemple

while read a
do
  echo $a >> resultat.txt
  echo Appuyez sur Ctrl-D pour arrêter.
done

until

Syntaxe

until commande
do
   liste_commandes
done

Exemple

until ! read a
do
  echo $a >> resultat.txt
  echo Appuyez sur Ctrl-D pour arrêter.
done

case

Syntaxe

case para in
    choix1[|choix2] ... ) liste_commandes ;;
esac

Exemple

case $1 in
     bonjour ) echo "Bonjour aussi." ;;
     A+ | a+ ) echo "À bientôt." ;;
     * )       echo "Je n'ai pas bien compris le paramètre \"$1\".";;
esac