next up previous contents Next: Utiliser proprement les arguments Up: Les scripts du shell. Previous: L'instruction case.   Table des matières  


8.7 Usage des fonctions: le mot-clé function.

Jusqu'ici, nos programmes s'exécutaient principalement du début à la fin. Souvent, certaines parties du code sont répétées. C'est une mauvaise pratique de programmation que de répéter explicitement des instructions présentant la même fonctionnalité. Les définitions de fonction fournissent une méthode pour grouper des instructions en un seul bloc. Une fonction regroupe donc une liste de commandes sous le même nom. Elle est exécutable à chaque appel. Prenons l'exemple qui suit:

#!/bin/sh

 

function usage ()

{

        echo "Usage:"

        echo "       myprog.sh [--test|--help|--version]"

}

 

case $1 in

        --test|-t)

               echo "you used the --test option"

               exit 0

        ;;

        --help|-h)

               usage

        ;;

        --version|-v)

               echo "myprog.sh version 0.0.2"

               exit 0

        ;;

        -*)

               echo "Error: no such option $1"

               usage

               exit 1

        ;;

esac

 

echo "You typed \"$1\" on the commande-line" 



Lorsqu'usage apparaît, le terme est substitué par les lignes se trouvant entre { et }. Les avantages de cette approche sont évidents: si vous souhaitez changer la description de la fonction "usage", il ne vous faudra faire les modifications qu'à un seul endroit du script. Les bons programmes utilisent si abondamment cette technique qu'ils exploitent rarement plus de 50 lignes de code sans faire un appel à l'une ou l'autre fonction.


next up previous contents Next: Utiliser proprement les arguments Up: Les scripts du shell. Previous: L'instruction case.   Table des matières  
1-01-2006