Pour rappeler le contenu d'une variable (locale ou d'environnement), il suffit de faire précéder son nom par le caractère « $ ». Par conséquent :
Exemple 4..1 :
sh_ksh% my_var=schmoll sh_ksh% echo $my_var schmoll
Comme pour tout langage de programmation, le nom d'une variable est une suite de caractères
quelconques. Comme en langage C, les noms de variables sont sensibles à la casse (distinction entre
majuscules et minuscules). Par conséquent, « variable » et « VARIABLE »
sont deux entités différentes.
Exemple 4..2 :
sh_ksh% variable=schmoll sh_ksh% echo $variable schmoll sh_ksh% echo $VARIABLE sh_ksh%
Il reste cependant une dernière problématique : celle de pouvoir fusionner le contenu de deux ou plusieurs variables avec une ou plusieurs chaînes de caractères. Par exemple :
Langage | Instruction | Résultat |
Fortran | STR='C''est un ' |
C'est un exemple |
WRITE(*,*) STR//'exemple' |
||
Langage C | strcpy(str,"exemple"); |
C'est un exemple |
printf ("c'est un %s", str); |
||
Shell UNIX | STR="C'est un " |
Rien ne s'affiche car la variable « STRexemple » n'existe pas. |
echo $STRexemple |
Il nous faudra donc délimiter le nom de la variable à l'aide des accolades « {
» et
« }
». Ainsi, si nous reprenons l'exemple précédent, nous devrons écrire :
echo ${STR}exemple
En conclusion, les accolades « {
» et « }
» servent à délimiter le nom d'une
variable dont on veut appeler le contenu. Nous verrons au paragraphe l'utilisation de
la même règle de syntaxe afin de combiner l'appels au contenu d'une variable avec une
expression. L'évaluation par le le shell UNIX
renverra alors une valeur suivant le contexte.
Remarque 4..3 :
Il est considéré comme une bonne pratique à respecter de systématiquement encadrer ses variables par des accolades, comme décrit ci dessus, même si cela n'est pas nécessaire. Cette pratique améliore la visibilité des scripts.