Provided by: manpages-fr_4.21.0-2_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.

       By  convention, the strings in environ have the form "name=value". The name is case-sensitive and may not
       contain the character "=". The value can be anything that can be represented as a string.  The  name  and
       the value may not contain an embedded null byte ('\0'), since this is assumed to terminate the string.

       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

           NAME=value command

       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    Absolute  path  to  the  current working directory; required to be partially canonical (no . or ..
              components).

       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)

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

Pages du manuel de Linux 6.03                    5 février 2023                                       environ(7)