{{tag>sysadmin dev gnu linux bash variable todo}}
====== Variables en shell ======
* **set** pour afficher les définitions des variables locales du shell.
* **unset** pour effacer une varialbe locale.
* **env** ou **printenv** pour affiher les variables d'environnement.
Pour définir une variable locale, on utilise l'opérateur d'affectation '**=**' avec la syntaxe **%%label=valeur%%**
$ MA_VAR="test"
$ echo $MA_VAR
test
$ unset MA_VAR
$ echo $MA_VAR
$
Pour la définition, pas d'espace entre le label et l'opérateur d'affectation.
===== Concaténation =====
pour délimiter le label de la variable on utilise les crochets
$ ADAM="Lui "
$ EVE=" Elle"
$ echo ${ADAM}et${EVE}
Lui et Elle
$
===== Exporter une variable locale =====
Exporter une variable locale, c'est la placer dans l'environnement. Lors de l’exécution d'un processus fils, le fork() copie l'environnement, la variable et sa valeur seront donc disponibles pour le processus enfant.
# Lors de sa définition la variable V1 est locale
$ V1="ma chaine a transmettre"
# Placer V1 dans l'environnement
$ export V1
===== Références =====
* https://stackoverflow.com/questions/3601515/how-to-check-if-a-variable-is-set-in-bash