Variables
Modifié par john le 2026/04/16 13:58
Les variables d’environnement sous Linux
Présentation
Les variables d’environnement sont des paires `nom=valeur` utilisées par le shell et les applications.
Elles stockent des informations de configuration, comme la langue, le nom d’utilisateur, le chemin de recherche des commandes, etc.
Elles sont visibles et modifiables par l’utilisateur courant, et peuvent être temporaires ou permanentes.
Quelques variables courantes
| Variable | Description | |
|---|---|---|
| `$USER` | Nom de l’utilisateur connecté | |
| `$HOME` | Répertoire personnel | |
| `$PATH` | Liste des dossiers contenant les commandes | |
| `$LANG` | Langue et encodage utilisés | |
| `$SHELL` | Shell utilisé (souvent `/bin/bash`) |
Afficher les variables existantes
printenv
# ou
env
# ou pour une variable spécifique :
echo $HOME
# ou
env
# ou pour une variable spécifique :
echo $HOME
Définir une variable temporaire
NOM=John
echo $NOM
echo $NOM
Cela ne sera valable que pour le shell courant.
Rendre une variable accessible à un script ou un sous-processus
Il faut l’exporter :
export NOM=John
./mon_script.sh
./mon_script.sh
Le script pourra utiliser `$NOM`.
Définir une variable de façon permanente
Ajoute la ligne dans l’un de ces fichiers :
- `/.bashrc` → pour les shells interactifs
- `/.profile` ou `/.bash_profile` → à la connexion
Exemple :
export EDITOR=nano
export PATH=$PATH:$HOME/bin
Puis recharge avec :
source ~/.bashrc
Astuce : tester si une variable existe
if [ -z "$MON_VAR" ]; then
echo "MON_VAR n'est pas définie"
fi
echo "MON_VAR n'est pas définie"
fi
Bonnes pratiques
- Utiliser des majuscules pour les noms (convention POSIX)
- Éviter les noms de variables trop courts (`T`, `X`, `D`) qui pourraient entrer en conflit
- Toujours entourer les variables entre guillemets (`"$VAR"`) dans les scripts pour éviter les bugs avec des espaces