FONCTION
Tout comme dans la majorité des autres langages de programmation, il est possible de créer des fonctions.Simple fonction
La définition d'une fonction est similaire au langage C.function bonjour() { echo "bonjour" }
il est aussi possible de faire:
bonjour() { echo "bonjour" }
Il suffit d'invoquer le nom de la fonction pour qu'elle soit appelée. La définition de la fonction doit être fait avant son appel.
#!/bin/bash bonjour() { echo "bonjour" } bonjour
Argument
Il est possible de passer des arguments à une fonction. Dans la fonction, il suffit de vérifier la valeur de $1, $2...#!/bin/bash information() { if [ -n "$1" ] then echo $1; else "Aucun paramètre" fi } information "salut" #!/bin/bash information() { if[ -n "$1"] echo $1 else echo "Aucun paramètre"; fi return 0 } information information "salut"
Argument
Nous allons maintenant créer une fonction qui retourne une valeur.function min() { if [ -n "$1" ] && [ -n "$2" ] then if [ "$1" -lt "$2" ] then return $1; else return $2; fi fi } min 112 13 echo "$? est la plus petite valeur"
Essayer de mettre une valeur supérieure à 256 comme argument.
Prenez note qu'une fonction ne peut renvoyer une valeur supérieure à 256. Cette contrainte provient des codes de sortie. Dans les nombres négatifs, il est possible d'aller beaucoup plus loin. Il suffit d'utiliser une variable globale pour pallier à ce problème.
VAL= function min() { if [ -n "$1" ] && [ -n "$2" ] then if [ "$1" -lt "$2" ] then VAL=$1 else VAL=$2 fi fi } min 1132 1300 echo "$VAL est la plus petite valeur "
Prenez note de la syntaxe de la déclaration de la variable VAR.
Vous devez utiliser une variable si vous désirez retourner une chaîne de caractère.
Prenez note qu'une variable déclaré dans une fonction à une portée globale au script. Elle peut donc être utilisé partout ailleurs. Pour éviter cela, il faut mettre avant le nom de la variable local lors de son initialisation.
local prenom="paul"
Nous avons complété la partie traitant des fonctions. Un script avec tous les exemples peut téléchargez ici
Aucun commentaire:
Enregistrer un commentaire