EEIJ

Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux


Sommaire


Conforme à XHTML 1.0 Strict Conforme à CSS!

On se lasse de tout, sauf de comprendre.
Attribué à Virgile.

Bash et les fonctions

Historique

23 mai 2014 : Création de cette page.

Difficulté

Pour : un esprit logique et curieux.

 Introduction

Comme les « vrais » langages de programmation, Bash supporte les fonctions bien qu'il s'agisse d'une implémentation quelque peu limitée.
Une fonction est une sous-routine qui permet d'utiliser plusieurs fois une portion de code.

 Syntaxe

Important : La définition de la fonction doit précéder son premier appel. Il n'est pas nécessaire de déclarer autrement cette fonction.

Deux formes de syntaxe sont possibles :

Haut

 Appel d'une fonction

Les fonctions sont appelées, lancées, simplement en invoquant leur noms.
ma_fonction

Appel avec passage de paramètres

Il est également possible de passer des paramètres à la fonction. La syntaxe est très simple :
ma_fonction paramètre1 paramètre2 ...

Récupération de paramètres, dans la fonction

Les paramètres se retrouvent de la même façon que les paramètres d'une commande :
ma_fonction () {
param1=$1; param2=$2; ...
commande...
}

Haut

 Code de sortie d'une fonction

Sortie par défaut

Par défaut, le code de sortie d'une fonction est celui de la dernière commande exécutée.

Sortie spécifique

Mais il est possible d'imposer un autre code, à l'aide d'une instruction return valeur_numérique.

Récupération dans le script principal

Elle se fait comme pour la sortie d'une commande :
sortie_fonction=$? qui sera placé dans la ligne qui suit l'appel de la fonction.

Remarque

Pour retourner une chaîne de caractères, il n'est pas possible d'utiliser return.
Mais il suffit d'affecter une valeur à une variable. La fonction s'exécutant dans le même shell que le script principal, la valeur de la variable est conservée.