====== Linux ====== ===== Fonctions ===== \\ ==== Déclaration ==== Pour déclarer une fonction, on utilise la syntaxe suivante : function maFonction() { instructions } # ou maFonction() { instructions } Les deux syntaxes ont leur avantage : * L'absence du mot-clé ''function'' permet au script d'être compatible avec les shells Bourne et Korn. * La présence du mot-clé ''function'' permet d'éviter une collision de nom avec les alias. \\ ==== Appel et paramètres ==== Pour appeler une fonction, on utilise la syntaxe suivante : maFonction param_1 param_2 ... param_n Les paramètres sont bien sûrs optionnels. \\ À l'intérieur de la fonction, ils sont représentés, respectivement, par les variables $1, $2,... , $n.\\ **$0** représente toujours le nom du script (et non de la fonction) qui s'exécute.\\ **$#** représente le nombre de paramètres passés à le fonction. \\ \\ Une fonction termine son exécution lorsqu'elle n'a plus d'instructions à exécuter ou lorsqu'elle rencontre l'instruction ''return'' ou ''exit''. Ces instructions peuvent être suivies d'un entier positif, qui correspond à la valeur de retour de la fonction. Si aucune valeur n'est spécifiée, c'est la valeur **0** qui est renvoyée. \\ \\ La valeur de retour de la dernière fonction appelée est stockée dans la variable **$?**. \\ \\ ==== Exemple ==== #!/bin/bash # déclaration d'une fonction function maFonction() { local varlocal="je suis la fonction" echo "$varlocal" echo "Nombres de paramètres : $#" echo $1 $prenom } prenom="Olivier" # appel de ma fonction maFonction "Hello" Ce qui donne le résultat suivant: je suis la fonction Nombres de paramètres : 1 Hello Olivier