BashFonction03

Scripting : les fonctions en Bash sous Linux

I. Présentation

Dans ce tutoriel, nous allons voir comment créer des fonctions dans le langage de script bash, accessible nativement sur Linux. La création de fonction est très pratique quand il s’agit d’économiser des bouts de code en les centralisant dans une fonction que nous pourrons appeler à tout moment dans le script. Quelques règles sont à savoir si l’on souhaite utiliser les fonctions en bash :

  • Une fonction peut être placée n’importe où dans le script, au début comme à la fin, avant comme après son appel.
  • Les variables qu’une fonction utilise sont globales par défaut, cela signifie qu’elles sont les mêmes hors et à l’intérieur d’une fonction
  • Les fonctions, au même titre qu’un script entier, utilisent les variables spéciales.

Retrouvez nos différents tutoriels sur l’utilisation de Bash, sur cette page.

II. Création d’une fonction

Pour faire nos essais, nous allons créer un script bash dont voici le code :

echo "#!/bin/bash" > script.sh
chmod +x script.sh

Nous créons ensuite notre première fonction « bonjour » qui se chargera d’afficher « bonjour » à l’écran :

Nous aurons donc cette sortie lors de l’exécution de notre script (commande « ./script.sh« ) :

BashFonction02

La fonction est donc tout ce qui est inscrit entre les deux accolades (  »  » ). Nous pouvons définir autant de fonction qu’on le souhaite pourvu qu’elles aient toutes un nom différent.

III. Passage de paramètres

Pour rappel, les scripts bash ont une multitude de variables spéciales qui permettent de gérer les paramètres passés lors de leur appel. Nous pouvons donc appeler notre fonction avec des paramètres pour que celle-ci les traites avec les variables spéciales (récupérer le nombre de paramètres, récupérer la valeur du premier ou du second paramètre, etc…). Nous allons, par exemple, vouloir que notre fonction affiche les mots que nous lui passons en paramètre dans le script suivant :

BashFonction03

Un paramètre est donc une valeur que l’on envoie à la fonction lors de son appel en lui disant : « tu vas traiter cette information« . Il faut bien sûr que dans la fonction, on mette les variables spéciales adéquates au traitement (Ex : $1 pour récupérer la valeur du premier paramètre passé).

On voit donc que l’on passe deux informations à notre fonction « écrire » qui sont « Bonjour » et « Salut ! ». La fonction va recevoir respectivement ces paramètres dans « $1 » et « $2« , nous pourrons alors les afficher comme suivant :

BashFonction04

IV. Les variables locales

Comme dit précédemment, les variables par défaut sont globales dans les fonctions, cela se vérifie de la façon suivante :

BashFonction05

Nous aurons alors la sortie suivante :

BashFonction06

Si l’on définit et initialise la variable hors de la fonction (en dehors des accolades), la valeur sera la même si on l’appelle (afficher son contenu, par exemple, avec « echo ») dans la fonction qu’à l’extérieur de celle-ci.

De la même façon, si on modifie cette variable dans la fonction, la modification est valable pour tout le reste du script après l’appel de la fonction. Pour définir une variable comme locale (valable uniquement pour l’intérieur de la fonction), on utilisera le terme « local » avant la définition de la fonction comme suivant :

BashFonction07

Nous aurons donc la sortie suivante :

BashFonction08

On voit bien que la valeur de « $var1 » n’a été modifié que dans la fonction. Désormais, vous connaissez les bases sur les fonctions en bash. L’utilisation qu’on en fait est généralement très variée, mais le principe de construction d’une fonction reste toujours le même.

author avatar

Co-fondateur d’IT-Connect.fr.
Auditeur/Pentester chez Orange Cyberdéfense.

Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

Script Bash - Générer des nombres aléatoires sous Linux

Script Bash – Comment générer des nombres aléatoires sous Linux ?

Table de Matieres1 I. Présentation2 II. Utiliser la variable $RANDOM pour les nombres aléatoires3 III. …

Script Bash - Affecter le résultat d'une commande à une variable

Bash : comment stocker le résultat d’une commande dans une variable ?

I. Présentation Dans ce tutoriel, nous allons apprendre à stocker le résultat d’une commande Linux …

Linux : comment renommer son terminal ?

Linux : comment renommer son terminal ?

Table de Matieres1 I. Présentation2 II. Prérequis3 III. Utiliser le terminal Mate4 IV. Fonction custom …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.