Fonctions

Mise à jour : Debian 11.2 - Bullseye

Les fonctions sont des séquences de commandes bash réutilisables, généralement utilisées dans les scripts, mais pouvant être également utilisées en ligne de commande.

Sommaire

1 - Syntaxe

Une fonction doit-être définie (déclaration et contenu) avant son appel. Elle peut ensuite être appelée plusieurs fois. La définition est identique en ligne de commande et dans un script

function bonjour
....
bonjour()
....
function bonjour { echo Bonjour; }
function bonjour { 
echo Bonjour
}

2 - Liste des fonctions

$ declare -F bonjour
bonjour
$ declare -f bonjour
bonjour ()
{
echo Bonjour
}
$ declare -F |head
declare -f __expand_tilde_by_ref
declare -f __get_cword_at_cursor_by_ref
declare -f __grub_dir
declare -f __grub_get_last_option
declare -f __grub_get_options_from_help
declare -f __grub_get_options_from_usage
declare -f __grub_list_menuentries
declare -f __grub_list_modules
declare -f __grubcomp
declare -f __ltrim_colon_completions

3 - Utilisation

3.1 - Utilisation

Une fois la fonction déclarée et définie, pour lancer son exécution, l'appeler par son nom

$ bonjour
Bonjour

3.2 - Paramètres en entrée

$ function bonjour { echo Bonjour $1; }

Exécution :

$ bonjour toto
Bonjour toto

$ bonjour titi
Bonjour titi

3.3 - Variables externes

$ function Demo { echo $Valeur; }

$ Valeur=10

$ Demo
10

$ Valeur=abcde

$ Demo
abcde
$ Variable=0

$ function Demo { Variable=36; }

$ Demo
$ echo $Variable
36

3.4 - Variables locales

$ Variable=0

$ function Demo { local Variable=36; }

$ Demo
$ echo $Variable
0

3.5 - Variable de sortie

$ function calcul { var=$((2*$1)); echo $var; }

# ou bien

$ function calcul { echo $((2*$1)); }
$ calcul 10
20
$ X=$(calcul 10)

$ echo $X
20