Newer
Older
cours-unix-shell / src / shell / README.md
# Variables d'environnement - Shell - UNIX

Le shell contient diverses variables d'environnement.  
Si vous voulez les voir toutes, utilisez la commande `env` sans paramètre.

Certaines de ces variables peuvent nous intéresser plus particulièrement (pour
visualiser leur contenu, utilisez la commande `echo`, par exemple `echo $HOME`
pour afficher le contenu de la variable `HOME`) :

| nom   | contenu                                                                                                                    |
| ----- | -------------------------------------------------------------------------------------------------------------------------- |
| HOME  | chemin de votre *home directory*                                                                                           |
| PATH  | liste des chemins parcourus par le shell pour trouver les commandes à exécuter (quand le chemin complet n'est pas précisé) |
| PS1   | "Prompt" utilisé dans le shell (on peut modifier sa valeur)                                                                |
| SHELL | indique le shell qu'on utilise                                                                                             |
| USER  | votre nom d'utilisateur                                                                                                    |

Pour modifier la valeur d'une variable (ou en créer une), il suffit d'utiliser la syntaxe :

```bash
VARIABLE=valeur
```

> ⚠️ Il ne faut pas mettre d'espace autour du caractère `=`

Par convention, les noms de variable sont en majuscules.  
Pour accéder à la valeur d'une variable, on utilise :

```bash
$VARIABLE
```

ou, pour éviter des ambiguités (si `a="var"`, `${a}b` renvoie `varb` alors que `$ab` est invalide) :

```bash
${VARIABLE}
```

On peut créer des variables utilisateurs de la même manière.

Une variable n'est disponible que dans le shell où on l'a initialisée.

Faire précéder l'affectation d'une variable du mot-clé `export` autorise son
utilisation dans un shell différent.

```bash
export VARIABLE=valeur
```

> Pour plus d'information sur les variables (en `bash`), voir [How To Use Bash
> Parameter Substitution Like A
> Pro](https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html)