Un guide pour débutant pour utiliser les fonctions bash!
- 2620
- 135
- Jeanne Dupont
Les fonctions de bash sont un moyen pratique de regrouper une série de commandes que vous utilisez souvent ensemble. Ils vous permettent de réutiliser le code, de rendre vos scripts plus organisés et plus faciles à lire, et vous faire gagner du temps en n'ayant pas à taper les mêmes commandes encore et encore.
Pour créer une fonction dans Bash, vous utilisez le mot clé de la fonction suivi du nom de la fonction et d'une paire de crachettes qui enferment les commandes qui composent la fonction. Par exemple:
FONCTION DE FONCTION echo "Bonjour, monde!"123 | FONCTION DE FONCTION echo "Bonjour, monde!" |
Cela crée une fonction appelée 'salutation' qui publie simplement la chaîne "Bonjour le monde!" Quand on l'appelle.
Pour appeler une fonction, vous tapez simplement son nom dans votre script shell. Par exemple:
salutation1 | salutation |
Cela exécutera les commandes dans le 'salutation' fonction, qui dans ce cas n'est que la commande echo.
Fonction de bash avec des arguments
Vous pouvez également transmettre des arguments à une fonction en les répertoriant dans les parenthèses lorsque vous appelez la fonction. Par exemple:
Fonction Greeting echo "Bonjour, 1 $!" Salutations" John Doe "12345 | Fonction Greeting echo "Bonjour, 1 $!" Salutations" John Doe " |
Ce sera sorti «Bonjour, John Doe!" parce que le '1 $' La variable au sein de la fonction fait référence au premier argument transmis à la fonction (dans ce cas, «John Doe»). Vous pouvez utiliser 2 $, 3 $, etc. pour vous référer aux deuxième, troisième et arguments suivants.
Vous pouvez également spécifier des valeurs par défaut pour les arguments si elles ne sont pas fournies lorsque la fonction est appelée. Par exemple:
Fonction Greeting name = $ 1: -world echo "Hello, $ name!" salutation de salutation" John "1234567 | Fonction Greeting name = $ 1: -world echo "Hello, $ name!" salutation de salutation" John " |
Le premier appel à «saluer» sortira "Bonjour le monde!" Parce que la variable de nom est définie sur la valeur par défaut du «monde» si aucun argument n'est fourni. Le deuxième appel à «saluer» sortira "Bonjour John!" Parce que la variable de nom est définie sur la valeur du premier argument («John»).
Définir le type d'argument à l'aide de commandes de construction
En utilisant le 'déclarer' Commande intégrée, vous pouvez également spécifier les types d'arguments dont une fonction attend. Par exemple:
Fonction Ajouter Declare -I num1 = 1 $ Declare -I num2 = $ 2 echo $ ((num1 + num2)) Ajouter 1 21234567 | Fonction Ajouter Declare -I num1 = 1 $ Declare -I num2 = $ 2 echo $ ((num1 + num2)) Ajouter 1 2 |
Cette fonction attend deux arguments entiers et les ajoute ensemble en utilisant le '$ ((…))' syntaxe d'extension arithmétique. Le 'Declare -I' Le drapeau dit à Bash de traiter les variables comme des entiers.
Fonctions de bash avec des variables locales
Les fonctions bash ont également des variables locales, qui sont des variables qui ne sont visibles que dans la fonction et ne sont pas accessibles en dehors. Pour créer une variable locale, vous utilisez le 'local' mot-clé suivi du nom de la variable. Par exemple:
Count de fonction local i pour i dans 1… 5; faire echo $ j'ai fait count echo $ i123456789 | Count de fonction local i pour i dans 1… 5; faire echo $ j'ai fait couchocho $ i |
La fonction de nombre crée une variable locale appelée 'je' qui est utilisé pour compter de 1 à 5. L'écho '$ i' L'instruction en dehors de la fonction ne sortira rien car le 'je' la variable n'est pas définie en dehors de la fonction.
Fonction avec les valeurs de retour
Vous pouvez également renvoyer une valeur à partir d'une fonction en utilisant le 'retour' commande intégrée. La valeur de la commande de retour est l'état de sortie de la fonction, qui est un nombre qui indique si la fonction a été remplie avec succès ou rencontré une erreur. UN 'retour' valeur de '0' indique le succès, tandis qu'une valeur non nulle indique une erreur.
Par exemple:
fonction Add if [[$ # -ne 2]]; puis renvoyer 1 fi de déclaration -I num1 = 1 $ Declare -I num2 = 2 $ return $ ((num1 + num2)) Ajouter 1 2 écho $? Ajouter 1 echo $?12345678910111213 | fonction Add if [[$ # -ne 2]]; puis renvoyer 1 fi de déclaration -I num1 = 1 $ Declare -I num2 = 2 $ return $ ((num1 + num2)) Ajouter 1 2echo $?Ajouter 1echo $? |
La fonction ADD vérifie pour s'assurer qu'elle a reçu exactement deux arguments. Si ce n'est pas le cas, il renvoie une valeur de 1 pour indiquer une erreur. Sinon, il ajoute les deux arguments ensemble et renvoie le résultat.
Le 'Echo $?' Commande après chaque appel à la fonction Ajouter la sortie de la valeur de retour de la fonction. Le premier appel sortira 3, tandis que le deuxième appel sortira 1.
Imprimer les valeurs en fonction
En plus de la valeur de retour, vous pouvez également utiliser la commande echo pour imprimer une valeur à partir d'une fonction. Par exemple:
fonction Add if [[$ # -ne 2]]; puis renvoyer 1 fi de déclaration -I num1 = 1 $ Declare -I num2 = $ 2 echo $ ((num1 + num2)) result = $ (ajouter 10 20) echo "Le résultat est $ résultat."1234567891011 | fonction Add if [[$ # -ne 2]]; puis renvoyer 1 fi de déclaration -I num1 = 1 $ Declare -I num2 = $ 2 echo $ ((num1 + num2)) result = $ (ajouter 10 20) echo "Le résultat est $ résultat." |
Ce code sortira «Le résultat est 30." Parce que la fonction ADD est appelée en utilisant la substitution de commande (la syntaxe $ (…)) et le résultat est stocké dans la variable de résultat.
Les fonctions de bash peuvent être très puissantes et sont un outil précieux pour organiser et simplifier vos scripts. Ils vous permettent de réutiliser le code, de rendre vos scripts plus lisibles et de vous faire gagner du temps en n'ayant pas à taper les mêmes commandes encore et encore.