GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer et appeler des fonctions dans Bash

Un guide rapide sur la façon de créer et d'appeler des fonctions dans Bash.

Une fonction est un bloc de code réutilisable utilisé pour effectuer une action. Avec les fonctions, nous obtenons une meilleure modularité et un haut degré de réutilisation du code.

Bash fournit des fonctions intégrées telles que echo et read , mais nous pouvons aussi créer nos propres fonctions.

Créer une fonction dans Bash

Il existe deux manières de créer des fonctions dans Bash :

Une façon consiste à utiliser simplement le nom de la fonction, par exemple :

functionName(){
  // scope of function
}

Version compacte :

functionName(){ echo "hello"; }

Une autre façon est de déclarer une fonction en utilisant le function mot-clé :

function functionName {
  // scope of function
}

Version compacte :

function functionName { echo "hello"; }

Remarquez que nous n'avons pas besoin du () lors de l'utilisation du function mot-clé pour créer une fonction.

Points importants à noter sur les fonctions Bash :

  • Le code entre les accolades {} est le corps et la portée de la fonction
  • Lors de l'appel d'une fonction, nous utilisons simplement le nom de la fonction depuis n'importe où dans le script bash
  • La fonction doit être définie avant de pouvoir être utilisée
  • Lorsque vous utilisez la version compacte, la dernière commande doit avoir un point-virgule ;

Exemple :

Le code suivant crée une fonction qui imprime "Hello World" sur la console. Le nom de la fonction s'appelle printHello :

#!/bin/bash

printHello(){
    echo "Hello World!"
}

Appeler une fonction dans Bash

Comment appelle-t-on la fonction ci-dessus ? Tout ce que vous avez à faire dans votre script bash est d'écrire le nom de la fonction et elle sera appelée.

Par exemple :

#!/bin/bash

printHello(){
    echo "Hello World!"
}

# Call printHello function from anywhere in the script by writing the name

printHello

Sortie :

"Hello World"

Passer des arguments

La fonction ci-dessus printHello() n'a aucun paramètre. Chaque fois que nous l'appelons, nous obtenons la sortie "Hello World". Et si nous voulions créer une fonction plus générique ? Par exemple, nous pouvons appeler la fonction avec un argument et elle imprimera ce que nous lui envoyons.

Il y a deux façons de procéder.

Nous pouvons d'abord modifier le printHello() fonction pour imprimer les arguments qui lui sont passés :

Par exemple :

#!/bin/bash

printAny(){
    echo "Hello " $1
}

printAny World
printAny DevQa
printAny I love coding!

Sortie :

Hello World
Hello DevQA
Hello I

Remarquez comment la troisième déclaration d'impression printAny I love coding! n'a sorti que "Bonjour, je".

C'est parce que notre fonction est conçue pour ne prendre qu'un seul paramètre $1 . Le mot "J'aime coder!" est en fait 3 paramètres.

Si nous voulions tout imprimer, nous aurions besoin de mettre des guillemets autour du texte

Par exemple :

#!/bin/bash

printAny(){
    echo "Hello " $1
}

printAny "I love coding!"

Sortie :

Hello I love coding

Autre exemple, nous pouvons également transmettre des chiffres :

#!/bin/bash

add() {
    result=$(($1 + $2))
    echo "Result is: $result"
}

add 1 2

Sortie :

Result is: 3

Valeurs renvoyées

Les fonctions bash peuvent également renvoyer des valeurs.

Par exemple :

#!/bin/bash

add() {
    result=$(($1 + $2))
}

add 1 2
echo "The sum is: "$result

Sortie :

The sum is: 3

Une autre façon de renvoyer des valeurs à partir d'une fonction consiste à affecter le résultat à une variable qui peut être utilisée selon les besoins.

Par exemple :

#!/bin/bash

add () {
  local result=$(($1 + $2))
  echo "$result"
}

result="$(add 1 2)"
echo "The sum is: "$result

Sortie :

The sum is: 3

Linux
  1. Comment définir et utiliser des fonctions dans Linux Shell Script

  2. Comment créer et supprimer un groupe d'utilisateurs sous Linux

  3. Comment appeler une fonction Bash dans le script Bash à l'intérieur d'Awk ?

  4. Bash Beginner Series #9 :Utiliser des fonctions dans Bash

  5. Comment appeler la fonction C en C++, la fonction C++ en C (mélanger C et C++)

Comment créer une rubrique SNS et un abonné sur AWS

Bash Scripting - Fonctions expliquées avec des exemples

Comment créer des documents avec des scripts Bash

Comment créer et restaurer des instantanés de machine virtuelle dans VirtualBox

Comment créer et utiliser un fichier d'échange sous Linux

Bash Scripting Part6 - Créer et utiliser des fonctions Bash