Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux
23 mai 2014 : Création de cette page.
Pour : un esprit logique et curieux.
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.
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 :
Les fonctions sont appelées, lancées, simplement en invoquant leur noms.
ma_fonction
Il est également possible de passer des paramètres à la fonction. La syntaxe est très simple :
ma_fonction paramètre1 paramètre2 ...
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...
}
Par défaut, le code de sortie d'une fonction est celui de la dernière commande exécutée.
Mais il est possible d'imposer un autre code, à l'aide d'une instruction return valeur_numérique.
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.
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.