Loading

NOM

       environ - Environnement utilisateur

SYNOPSIS

       extern char **environ;

       La  variable  environ pointe sur un tableau de pointeurs de chaînes que
       l’on nomme « environnement ». Le dernier pointeur de  ce  tableau  vaut
       NULL.   (Cette   variable   doit  être  déclarée  dans  les  programmes
       utilisateurs,  mais  elle  est  déclarée  dans  le  fichier   d’en‐tête
       <unistd.h>  avec  libc4 et libc5, ou bien avec glibc si _GNU_SOURCE est
       définie.) Ce tableau de chaînes de caractères est fourni  au  processus
       par l’appel exec(3) qui démarre le processus.

       Par  convention,  ces  chaînes  sont  de  la  forme « nom=valeur ». Des
       exemples classiques sont :

       USER   Le nom de l’utilisateur connecté (utilisé par des programmes  de
              style BSD).

       LOGNAME
              Le   nom   de   l’utilisateur  connecté  (utilisé  par  certains
              programmes de style System V).

       HOME   Le répertoire de  login  d’un  utilisateur,  mis  en  place  par
              login(1) depuis le fichier passwd(5).

       LANG   Le  nom  de  la  localisation à utiliser pour les catégories non
              spécifiées par LC_ALL ou une variable d’environnement spécifique
              comme    LC_COLLATE,    LC_CTYPE,    LC_MESSAGES,   LC_MONETARY,
              LC_NUMERIC, LC_TIME, voir locale(5).

       PATH   Une liste  de  répertoires  que  sh(1)  et  de  nombreux  autres
              programmes  utilisent pour trouver un fichier dont le chemin est
              incomplet. Les répertoires sont séparés par des « : ». (De même,
              il  existe  CDPATH qui est utilisé par certains interpréteurs de
              commandes pour connaître le chemin de destination d’une commande
              cd, MANPATH utilisé par man(1) pour trouver les pages de manuel,
              etc.)

       PWD    Le  répertoire  de  travail  actuel,  renseigné   par   certains
              interpréteurs de commandes.

       SHELL  Le   nom   de   fichier   de   l’interpréteur  de  commandes  de
              l’utilisateur.

       TERM   Le type de terminal utilisé pour les affichages.

       PAGER  L’application préférée de l’utilisateur pour afficher du  texte.

       EDITOR/VISUAL
              L’application   préférée  de  l’utilisateur  pour  modifier  des
              textes.

       D’autres  noms  peuvent  être  inscrits  dans  l’environnement  par  la
       commande  export  avec  la syntaxe « nom=valeur » sous sh(1), ou par la
       commande setenv avec csh(1). Des arguments peuvent aussi  être  insérés
       dans  l’environnement  lors d’un exec(3). Un programme C peut manipuler
       son environnement avec les fonctions getenv(3), putenv(3), setenv(3) et
       unsetenv(3).

       Remarquez  que  le  comportement  de nombreux programmes ou routines de
       bibliothèque est influencé par la présence ou la  valeur  de  certaines
       variables d’environnement. En voici quelques exemples :

       Les  variables  LANG,  LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES,
       etc. influencent la localisation, voir locale(5).

       TMPDIR modifie le préfixe de chemin  d’accès  des  fichiers  créés  par
       tmpnam(3)  et  d’autres fonctions, le répertoire temporaire utilisé par
       sort(1) et d’autres programmes, etc.

       LD_LIBRARY_PATH, LD_PRELOAD et d’autres  variables  LD_*  modifient  le
       comportement de l’éditeur de lien dynamique.

       POSIXLY_CORRECT  oblige  certains  programmes  ou  routines à respecter
       scrupuleusement la norme POSIX.

       Le comportement de malloc(3) est influencé par les variables  MALLOC_*.

       La  variable HOSTALIASES fournit le nom du fichier d’alias consulté par
       gethostbyname(3).

       TZ et TZDIR gèrent les informations sur les fuseaux horaires  utilisées
       par  tzset(3)  et  donc par les fonctions comme ctime(3), localtime(3),
       mktime(3), strftime(3). Voir aussi tzselect(8).

       TERMCAP donne des indications sur la manière de traiter le terminal (ou
       donne le nom d’un fichier contenant ces spécifications).

       COLUMNS  et  LINES  indiquent aux applications la taille de la fenêtre,
       éventuellement avec préséance sur la taille réelle.

       PRINTER ou LPDEST indiquent l’imprimante à utiliser. Voir lpr(1).

       Etc.

BOGUES

       Il est clair qu’il y a un risque concernant la sécurité. De  nombreuses
       commandes  système  peuvent  être induites en erreur par un utilisateur
       qui fournirait des valeurs inhabituelles pour IFS ou LD_LIBRARY_PATH.

       Il y a  aussi  un  risque  de  pollution  de  l’espace  des  noms.  Des
       programmes  comme  make  et  autoconf  permettent la surcharge des noms
       d’utilitaires par défaut par des variables d’environnement avec le même
       nom  en  majuscules.  Ainsi,  on  peut  utiliser  CC  pour  choisir  le
       compilateur C (et de même MAKE, AR, AS, FC, LD, LEX, RM,  YACC,  etc.).
       Toutefois dans certains cas, ces variables fournissent des paramètres à
       certains programmes plutôt qu’un nom  d’utilitaire.  Ainsi,  il  existe
       MORE,  LESS, ou GZIP. De telles utilisations sont considérées comme des
       erreurs, et doivent être évitées  dans  les  nouveaux  programmes.  Les
       auteurs de gzip devraient penser à renommer leur option GZIP_OPT.

VOIR AUSSI

       bash(1),  csh(1),  login(1),  sh(1),  tcsh(1),  execve(2), clearenv(3),
       exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(5)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».