Une fonction doit être définie au début d'un script, avant sa première utilisation.
Il existe 2 syntaxes permettant de définir une fonction.
Première syntaxe :
Ce sont les doubles parenthèses ( ) qui indique au shell la définition d'une fonction
Définition d'une fonction
maFonction () {
commande1
commande2
.....
}
Appel d'une fonction
maFonction
Seconde syntaxe :
Le mot clé function remplace les doubles parenthèses ( )
Définition d'une fonction
function maFonction {
commande1
commande2
.....
}
Appel d'une fonction
maFonction
Une fonction peut être appelée aussi bien à partir du programme principal qu'à partir d'une autre fonction.
Exemple :
$ nl fonction01.sh
1 #!/bin/bash
2 fctn01 () {
3 echo "Fonction fctn01"
4 }
5 function fctn02 {
6 echo "Fonction fctn02"
7 }
8 echo "Début du programme principal"
9 echo "Appel de la fonction fctn01"
10 fctn01
11 echo "Appel de la fonction fctn02"
12 fctn02
13 echo "Fin du programme principal"
14 exit 0
$ ./fonction01.sh
Début du programme principal
Appel de la fonction fctn01
Fonction fctn01
Appel de la fonction fctn02
Fonction fctn02
Fin du programme principal
$
Dès qu'une fonction est définie, celle-ci est considérée par le shell comme étant une commande interne.