Pascal BEAUSSART

function


La commande function permet de définir une fonction qui peut être appelée plusieurs fois dans le programme.

Il y a deux syntaxes pour définir une fontion :
Syntaxe korn shell Syntaxe compatible bourne shell
function nom_fonction
{
  ...
} 
et
nom_fonction()
{
  ...
} 
Les variables définies à l'intérieur d'une fontion sont locales, celles qui le sont à l'extérieur sont globales :
incrementer()
{
   typeset -i i=5
   (( i+=1 ))
   (( j+=1 ))
   echo "i=$i j=$j (incrementer)"
}

typeset -i i=0 j=0
echo "i=$i j=$j (origine)"
incrementer
echo "i=$i j=$j (après incrementer)"


# Définition i=5 locale
# i = i + 1
# j = j + 1



# Définition i=0 et j=0 globale
i=0 j=0 (origine)
i=6 j=1 (incrementer)
i=0 j=1 (après incrementer)
# i non modifié ; j modifié

La commande typeset -f vous donne la liste des fonctions référencées.

La commande unset -f supprime la définition d'une fonction.


[RETOUR] [HOME]