Variable d'environnement - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Variables d’environnement Unix (ou linux)

Sous Unix et Linux, les shells utilisent deux types de variables, utilisant la même syntaxe :

  • Des variables locales au shell,
  • Des variables d'environnement transmises aux applications lancées par le shell.

Ces dernières sont accédées comme des variables locales et doivent être exportées avec la commande export (pour bash), ou utiliser la commande setenv (csh).

Exemple de variables d'environnement sous Unix :

CFLAGS et CXXFLAGS pour la compilation

Voir CFLAGS

Répertoires $HOME, $PWD, $OLDPWD

  • La variable $HOME contient le chemin absolu vers le répertoire personnel de l'utilisateur connecté.
  • La variable $PWD contient le chemin absolu vers le répertoire courant (permet de savoir où on est dans l'arborescence).
  • La variable $OLDPWD contient le chemin absolu vers le répertoire courant précédent (permet de savoir d'où on vient).

Infopath (pour Emacs)

Infopath est une variable d'environnement utilisé par l'Éditeur de texte Emacs. Il contient la liste des répertoires info.

$LANG et $LANGUAGE

Affichage des messages d'erreurs

La variable $LANG est utilisée par les différents programmes pour déterminer la langue des messages à afficher. Par exemple :

       a@localhost ~]LANG=fr ls fff       ls: fff: Aucun fichier ou répertoire de ce type       a@localhost ~]LANG=en ls fff       ls: fff: No such file or directory      

Ces différentes traductions se trouvent dans les fichiers .mo des sous-répertoires de /usr/share/locale .

Il peut être intéressant de modifier cette variable pour obtenir un message d'erreur en anglais (par exemple, en exécutant la commande «  »), puis de rechercher ce message d'erreur avec un moteur de recherche l'intérêt est d'avoir une liste de pages plus volumineuses que pour le message d'erreur en français et d'espérer trouver un diagnostic plus précis.

Affichage de l'éditeur de texte vim

La variable $LANG sert aussi à vim pour déterminer l'encodage à utiliser. Supposons le fichier .txt contenant comme seule ligne 'été' encodée en UTF-8. Pour éditer ce fichier avec vi dans la konsole il faut poser 'export LANG=fr.UTF8' et s'assurer que l'encodage de la konsole soit fixée à UTF-8 ( Configuration→Encodage).

Si l'encodage de la konsole est fixé à ISO 8859-1, vim affichera 'été'. Si la variable $LANG ne précise pas l'encodage utf-8, par exemple $LANG=fr, mais que l'encodage de la konsole est à UTF-8, vim affichera 'été', mais la position du curseur ne suivra pas bien. En effet, bien que la konsole affiche trois caractères, vim en compte cinq (essayez d'aller à la fin de la ligne avec $, le curseur ira trop loin).

Comparaison avec Windows

Dans Windows, la langue se paramètre avec la base de registre, dans le HKEY_CURRENT_USER, plus exactement dans certaines des sous-clés de ControlPanel\international (l'outil pour le paramétrer est intl.cpl).

$LD_LIBRARY_PATH

La variable $LD_LIBRARY_PATH contient une liste de répertoires, séparés par des :, où se trouvent les bibliothèques qui ne sont pas installées dans les répertoires par défaut ( /usr/lib et /usr/local/lib n'ont pas à être indiqués dans $LD_LIBRARY_PATH ).

Lors de l'exécution d'une application liée dynamiquement à une bibliothèque, la bibliothèque est d'abord recherchée dans les répertoires par défaut, puis dans les répertoires énumérés dans la variable $LD_LIBRARY_PATH en ordre d'apparition.

Si la bibliothèque n'est pas trouvée, un message d'erreur semblable à celui-ci sera lancé lors de l'exécution :

       le_nom_du_binaire: error while loading shared libraries: libXX.so.0: cannot open shared object file: No such file or directory      

Variable de X Window System (pour l'environnement graphique)

  • $DISPLAY

Exemple de valeur :

      :0.0      
    • Le premier chiffre est le numéro de serveur X11
    • Le deuxième est le numéro de terminal
  • $TERM

Exemple de valeur :

      xterm      

Variables liées à GNOME (pour l'environnement graphique)

$COLORTERM

Exemple de valeur

gnome-terminal

$DESKTOP_SESSION

Exemple de valeur :

      default      

$DESKTOP_STARTUP_ID

$GDM_XSERVER_LOCATION et $GDMSESSION

Voir GNOME Display Manager.

$GNOME_DESKTOP_SESSION

Exemple de valeur :

      Default      

$GNOME_KEYRING_SOCKET

Exemple de valeur :

      /tmp/keyring-24TGGU/socket      

Variables liées à KDE (pour l'environnement graphique)

Variables liées à GTK

  • $GTK_DEBUG
  • $GTK_MODULES
  • $GTK_PATH
  • $GTK_IM_MODULE
  • $GTK_IM_MODULE_FILE
  • $GTK_RC_FILES
  • $GTK2_RC_FILES
  • $GTK_EXE_PREFIX
  • $GTK_DATA_PREFIX
  • $GDK_PIXBUF_MODULE_FILE
  • $GDK_DEBUG

$LC_ALL

Voir i18n.

$POSIXLY_CORRECT

Si la variable d'environnement $POSIXLY_CORRECT est définie, les commandes Linux se conformeront à la norme POSIX.

Par exemple, la commande linux grep se conformera à POSIX.2 si cette variable est définie.

Voir POSIX#Variable d'environnement POSIXLY CORRECT.

Variables liées à SSH

  • $SSH_AGENT
  • $SSH_AUTH_SOCK

$LOGNAME, $USER et $USERNAME

Contient la valeur du nom d'utilisateur de la session actuelle.

$SHELL

$SHELL indique l'interpréteur shell utilisé par défaut. La valeur habituelle sous linux est

      /bin/bash      

Sur certaines versions d'Unix, c'est un shell plus primitif qui est installé par défaut. Pour avoir la liste des shell sous Unix, voir catégorie:Shell Unix.

Autres variables

  • $SHLVL, le niveau d'init, voir init de Unix System V
  • $LS_COLORS
  • $SESSION_MANAGER
  • $XAUTHORITY
  • $WINDOWID

Les variables autres que celles d'environnement

Pour les variables internes, voir (en) .

Il existe des variables qui ne font pas partie des variables d'environnement. Par exemple, sur la version Sarge de la distribution debian, il peut y avoir :

  • Variables liées au shell
    • $BASH, $BASH_VERSINFO, $BASH_VERSION
  • $HISTFILE, $HISTFILESIZE et $HISTSIZE : paramètres de l'historique des commandes shell
    • $SHELLOPTS
  • $COLUMNS et $LINES' valeurs par défaut : 80 et 24 (c'est-à-dire 80 colonnes et 24 lignes)
  • $DIRSTACK
  • $EUID (UID effectif d'un processus)
REMARQUE : Il ne faut pas utiliser cette variable pour déterminer quel était le login initial (Pour cela, il faut utiliser la commande who am i, en n'oubliant pas les espaces !)
  • $GROUPS
  • Variables en rapport avec l'architecture logicielle ou matérielle
    • $HOSTTYPE ; exemple de valeur : i386
    • $MACHTYPE ; exemple de valeur : i386-pc-linux-gnu
    • $OSTYPE ; exemple de valeur : linux-gnu
  • $IFS Internal Field Separator
  • $MAILCHECK ; valeur par défaut : 60
  • $OPTERR et $OPTIND ; valeurs par défaut : 1
  • $PIPESTATUS
  • $PPID Parent Process IDentifier
  • Variables liées au prompt
    • $PROMPT_COMMAND
    • $PS1, $PS2 et $PS4
Page générée en 0.122 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise