====== Les principales variables d'environnement Linux/Unix ====== * **$ARCH :** Contient la description de l'architecture de la machine. * **$DISPLAY :** Contient l'identifiant du terminal d'affichage à utiliser dans le gestionnaire de fenêtres (X11). * **$HOME :** Retourne le chemin d'accès vers le répertoire de l'utilisateur courant. * **$HOST :** Retourne le nom de l'ordinateur. * **$LANG :** Retourne le code de langue par défaut. LANG=fr_FR.UTF-8 * **$PATH :** Retourne une liste de chemins d'accès vers des répertoires contenant les exécutables, séparés par des points-virgules. * **$LD_LIBRARY_PATH :** Retourne une liste de chemins d'accès vers des répertoires contenant les librairies, séparées par des points-virgules. * **$PRINTER :** Contient le nom de l'imprimante par défaut. * **$SHELL :** Indique le chemin de l'interprêteur de commande utilisé. * **$USER :** Retourne l'identifiant de l'utilisateur courant. * **$http_proxy :** Définition d'un proxy http * **$ftp_proxy :** Définition d'un proxy ftp export http_proxy="http://proxy.exemple.org:8080" * **$EDITOR :** Editeur par défaut export EDITOR=nano * **$PAGER :** Le nom de l'application utilisée pour afficher des textes longs (sur plusieurs pages écran) par des commandes telles que man. export PAGER="/usr/bin/less" * **$COLUMNS :** Nombre de colonnes du terminal * **$LINE :** Nombre de lignes du terminal ====== Variables de compilation ====== * **$CC :** Le nom du compilateur C à utiliser (exemple : gcc) * **$CFLAGS :** Une liste d'arguments de débogage / optimisation à passer au compilateur C (exemple : -o out.o) * **$CXXFLAGS :** Une liste d'arguments de débogage / optimisation à passer au compilateur C++ (exemple : -Wall) * **$CPPFLAGS :** Une liste d'arguments à passer au préprocesseur / compilateur C/C++ (exemple : -DDEBUG) * **$LIBRARY_PATH :** Une liste de dossiers (séparés par deux-points) où chercher les fichiers de bibliothèques (exemple : /usr/lib/firefox) * **$INCLUDE :** Une liste de dossiers (séparés par deux-points) où chercher les fichiers d'en-têtes (exemple : /opt/app/src/include) * **$CPATH :** Une liste de dossiers (séparés par deux-points) où chercher les fichiers d'en-têtes (exemple : $HOME/include:/usr/local/include) ====== Affectation rapide et héritage avec Bash ====== L'interpréteur de commandes bash nous permet de définir une ou plusieurs variables d'environnement et de lancer un processsus enfant en une seule commande. Par exemple, pour définir les variables « LANG » et « TRUC », puis lancer gedit, nous pouvons utiliser la commande : LANG=he_IL.UTF-8 FOO=bar gedit **Remarque :** En utilisant cette commande, les nouvelles valeurs sont uniquement assignées au processsus enfant, ici gedit. Les variables du shell conservent leurs valeurs d'origine. Ainsi, dans cet exemple, la valeur de « LANG » restera inchangée (sans doute fr_FR.UTF-8 pour vous) pour les commandes suivantes dans le terminal. Un comportement similaire peut être obtenu avec d'autres terminaux en utilisant la commande env.