Provided by: manpages-fr_4.27.0-1_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    Chemin absolu vers le répertoire de travail utilisé ; requis  pour  être  partiellement  canonique
              (pas les composants . ou ..).

       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.9.1                    15 juin 2024                                        environ(7)