Définition de variables locales
La commande typeset permet de définir des variables locales à une fonction.
Syntaxe :
typeset variable
typeset variable=valeur
Exemple :
$ nl fonction03.sh
1 #!/bin/bash
2 function f1 {
3 # var1 est une variable locale
4 typeset var1
5 echo "Dans la fonction f1 => var1 avant : $var1"
6 var1=100
7 echo "Dans la fonction f1 => var1 après : $var1"
8 echo "Dans la fonction f1 => var2 avant : $var2"
9 var2=200
10 echo "Dans la fonction f1 => var2 après : $var2"
11 }
12 # var1 et var2 sont des variables globales
13 var1=1
14 var2=2
15 echo "Dans le programme principal => var1 avant appel f1 : $var1"
16 echo "Dans le programme principal => var2 avant appel f1 : $var2"
17 f1
18 echo "Dans le programme principal => var1 après appel f1 : $var1"
19 echo "Dans le programme principal => var2 après appel f1 : $var2"
20 exit 0
$ ./fonction03.sh
Dans le programme principal => var1 avant appel f1 : 1
Dans le programme principal => var2 avant appel f1 : 2
Dans la fonction f1 => var1 avant :
Dans la fonction f1 => var1 après : 100
Dans la fonction f1 => var2 avant : 2
Dans la fonction f1 => var2 après : 200
Dans le programme principal => var1 après appel f1 : 1
Dans le programme principal => var2 après appel f1 : 200
$
2 variables globales var1 et var2 sont définies et initialisées ligne 13 et 14.
1 variable locale var1 est définie dans la fonction ligne 4 et initialisée à 100 ligne 6.
Après exécution de la fonction f1, la variable globale var1 a conservée sa valeur (1) alors que la variable globale var2 a été modifiée.
Ajouter un commentaire