Provided by: manpages-fr_4.15.0-9_all bug

NOM

       environ – Environnement utilisateur

SYNOPSIS

       extern char **environ;

DESCRIPTION

       La   variable   environ   pointe   sur   un   tableau   de  pointeurs  de  chaînes  appelé
       « environnement ». Le dernier pointeur de ce tableau  vaut  NULL.  Ce  tableau  est  rendu
       disponible  au  processus  par  l’appel  execve(2) quand un nouveau programme est démarré.
       Quand un processus enfant est  créé  à  l’aide  de  fork(2),  il  hérite  d’une  copie  de
       l’environnement de son parent.

       Par  convention,  les  chaînes  dans  environ  sont de la forme « nom=valeur ». Le nom est
       sensible à la casse et ne peut pas  inclure  le  caractère  « = ».  La  valeur  peut  être
       n’importe  laquelle  pouvant  représenter  une  chaîne. Le nom et la valeur ne peuvent pas
       contenir un octet NULL (« \0 ») puisqu’il est supposé terminer la chaîne.

       Les variables d’environnement peuvent être placées dans l’environnement d’interpréteur  de
       commande par la commande export pour sh(1) ou par la commande setenv pour csh(1).

       L’environnement  initial  de l’interpréteur de commandes est rempli de différentes façons,
       telles que des définitions dans /etc/environment pouvant être traitées par pam_env(8) pour
       tous  les  utilisateurs  au moment de la connexion (sur les systèmes utilisant pam(8)). De
       plus, divers scripts d’initialisation d’interpréteur de  commandes,  tels  que  le  script
       /etc/profile  pour  tout  le  système  et  les  scripts  d’initialisation propres à chaque
       utilisateur peuvent comporter des commandes ajoutant des variables  à  l’environnement  de
       l’interpréteur  de commandes. Consultez le manuel de l’interpréteur de commandes pour plus
       de détails.

       Les interpréteurs de commandes de style Bourne gèrent la syntaxe

           NOM=valeur commande

       pour créer une définition de variable d’environnement  uniquement  dans  le  périmètre  du
       processus  qui  exécute la commande. Plusieurs variables d’environnement, séparées par des
       espaces blancs, peuvent précéder la commande.

       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).

       Ce qui suit est une liste de variables d’environnement  habituellement  présentes  sur  un
       système.  Cette  liste est incomplète et inclut seulement les variables courantes vues par
       un  utilisateur  moyen  dans  leur  routine  quotidienne.  Les  variables  d’environnement
       spécifiques  à  un  programme  ou  une  fonction  de bibliothèque sont documentées dans la
       section ENVIRONNEMENT de leurs pages de manuel.

       USER   Le nom de l'utilisateur connecté (utilisé par des programmes de style BSD). Il  est
              défini lors de la connexion. Consultez la section NOTES ci-après.

       LOGNAME
              Le  nom  de  l'utilisateur  connecté  (utilisé  par  certains  programmes  de style
              System V). Il est défini lors de la connexion. Consultez la section NOTES ci-après.

       HOME   Le répertoire de login d'un utilisateur. Il est défini lors de l’enregistrement  de
              l’utilisateur auprès du système. Consultez la section NOTES ci-après.

       LANG   Le  nom  de la régionalisation à utiliser pour les catégories de locale quand elles
              ne sont pas écrasées par LC_ALL ou une  variable  d'environnement  plus  spécifique
              telle  que  LC_COLLATE,  LC_CTYPE,  LC_MESSAGES,  LC_MONETARY, LC_NUMERIC, LC_TIME.
              Consultez locale(7) pour plus de détails sur les variables d’environnement LC_*.

       PATH   La séquence de préfixes de répertoires que sh(1) et  beaucoup  d’autres  programmes
              utilisent  lors de la recherche d’un fichier exécutable indiqué comme simple nom de
              fichier (c’est-à-dire un nom de chemin ne contenant  pas  de  barre  oblique).  Les
              préfixes sont séparés par des deux-points (:). La liste est parcourue du début à la
              fin en recherchant le nom de chemin formé par la concaténation d’un préfixe,  d’une
              barre  oblique  et  le  nom de fichier jusqu’à ce qu’un fichier ayant la permission
              d’exécution soit trouvé.

              En tant que caractéristique patrimoniale, un préfixe de longueur zéro (indiqué  par
              deux deux-points adjacents ou un deux-points initial ou final) est interprété comme
              indiquant le répertoire de  travail  utilisé.  Cependant,  l’utilisation  de  cette
              fonctionnalité  est  obsolète  et POSIX note qu’une application devrait utiliser un
              nom de chemin explicite pour être conforme (par exemple, « . »)  pour  indiquer  le
              répertoire de travail utilisé.

              Similairement  à  PATH, il existe CDPATH qui est utilisé par certains interpréteurs
              de commandes pour connaître le chemin de destination d'une commande  de  changement
              de  répertoire,  MANPATH  qui  est  utilisé  par  man(1)  pour trouver les pages de
              manuel, etc.

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

       SHELL  Le  nom de chemin absolu de l’interpréteur de connexion de l’utilisateur, défini au
              moment de la connexion. Consultez la section NOTES ci-après.

       TERM   Le type de terminal utilisé pour les affichages.

       PAGER  L’utilitaire préféré de l’utilisateur pour afficher les fichiers  texte.  N’importe
              quelle  chaîne  acceptable  comme  opérande  de chaîne de commande pour la commande
              sh -c est autorisée. Si PAGER est NULL ou n’est pas défini, alors les  applications
              lançant  un  visionneur  (pager)  se rabattront sur un programme tel que less(1) ou
              more(1).

       EDITOR/VISUAL
              L’utilitaire préféré de l’utilisateur pour éditer  les  fichiers  texte.  N’importe
              quelle  chaîne  acceptable  comme  opérande  de chaîne de commande pour la commande
              sh -c est autorisée.

       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 gestion de la régionalisation. Consultez catopen(3), gettext(3) et locale(7).

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

       –  LD_LIBRARY_PATH,  LD_PRELOAD  et  d'autres  variables LD_* modifient le comportement du
          chargeur et de l'éditeur de lien dynamique. Consultez aussi ld.so(8).

       –  POSIXLY_CORRECT oblige certains programmes ou  routines  de  bibliothèque  à  respecter
          scrupuleusement la norme POSIX.

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

       –  La variable HOSTALIASES fournit le nom d’un fichier contenant les alias à utiliser avec
          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)  et  strftime(3).
          Consultez aussi tzselect(8).

       –  TERMCAP donne des indications sur la manière de traiter un 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. Consultez lpr(1).

NOTES

       Historiquement et selon l’habitude,  environ  doit  être  déclaré  dans  le  programme  de
       l’utilisateur.  Cependant,  par  commodité  (non  standard)  de programmation, environ est
       déclaré dans le fichier d’en-tête <unistd.h>  si  la  macro  de  test  de  fonctionnalités
       _GNU_SOURCE est définie. Consultez feature_test_macros(7).

       Les opérations PR_SET_MM_ENV_START et PR_SET_MM_ENV_END de prctl(2) peuvent être utilisées
       pour contrôler l’emplacement de l’environnement du processus.

       Les variables HOME, LOGNAME, SHELL et USER sont définies quand l’utilisateur est changé  à
       l’aide  d’une  interface  de  gestion  de  session, classiquement par un programme tel que
       login(1) à partir d’une base de données d’utilisateurs  (telle  que  passwd(5)).  Basculer
       vers  le  superutilisateur  en  utilisant  su(1)  peut aboutir à un environnement mixte où
       LOGNAME et USER sont conservés de l’ancien utilisateur. Consultez la  page  de  manuel  de
       su(1).

BOGUES

       Il  est clair qu'il y a ici un risque de 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 de l’environnement  par
       des  variables  d'environnement avec le même nom en capitales. Ainsi, CC peut être utilisé
       pour choisir le compilateur C (et de même pour MAKE, AR, AS, FC, LD, LEX, RM, YACC, etc.).
       Toutefois dans certaines utilisations traditionnelles, de telles variables fournissent des
       options à certains programmes plutôt qu'un chemin. Ainsi, un utilisateur a MORE  et  LESS.
       De telles utilisations sont considérées fautives et doivent être évitées dans les nouveaux
       programmes.

VOIR AUSSI

       bash(1),  csh(1),  env(1),  login(1),  printenv(1),  sh(1),  su(1),  tcsh(1),   execve(2),
       clearenv(3),  exec(3),  getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8),
       pam_env(8)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot <david@tilapin.org> et Jean-Paul Guillonneau
       <guillonneau.jeanpaul@free.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.