environ(7) Miscellaneous Information Manual environ(7) NOM environ - Environnement utilisateur SYNOPSIS extern char **environ; DESCRIPTION La variable environ pointe sur un tableau de pointeurs de chaines appele << 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 demarre. Quand un processus enfant est cree a l'aide de fork(2), il herite 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 etre placees dans l'environnement d'interpreteur de commande par la commande export pour sh(1) ou par la commande setenv pour csh(1). L'environnement initial de l'interpreteur de commandes est rempli de differentes facons, telles que des definitions dans /etc/environment pouvant etre traitees par pam_env(8) pour tous les utilisateurs au moment de la connexion (sur les systemes utilisant pam(8)). De plus, divers scripts d'initialisation d'interpreteur de commandes, tels que le script /etc/profile pour tout le systeme et les scripts d'initialisation propres a chaque utilisateur peuvent comporter des commandes ajoutant des variables a l'environnement de l'interpreteur de commandes. Consultez le manuel de l'interpreteur de commandes pour plus de details. Les interpreteurs de commandes de style Bourne gerent la syntaxe NAME=value command pour creer une definition de variable d'environnement uniquement dans le perimetre du processus qui execute la commande. Plusieurs variables d'environnement, separees par des espaces blancs, peuvent preceder la commande. Des arguments peuvent aussi etre inseres 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 presentes sur un systeme. Cette liste est incomplete et inclut seulement les variables courantes vues par un utilisateur moyen dans leur routine quotidienne. Les variables d'environnement specifiques a un programme ou une fonction de bibliotheque sont documentees dans la section ENVIRONNEMENT de leurs pages de manuel. USER Le nom de l'utilisateur connecte (utilise par des programmes de style BSD). Il est defini lors de la connexion. Consultez la section NOTES ci-apres. LOGNAME Le nom de l'utilisateur connecte (utilise par certains programmes de style System V). Il est defini lors de la connexion. Consultez la section NOTES ci-apres. HOME Le repertoire de login d'un utilisateur. Il est defini lors de l'enregistrement de l'utilisateur aupres du systeme. Consultez la section NOTES ci-apres. LANG Le nom de la regionalisation a utiliser pour les categories de locale quand elles ne sont pas ecrasees par LC_ALL ou une variable d'environnement plus specifique telle que LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME. Consultez locale(7) pour plus de details sur les variables d'environnement LC_*. PATH La sequence de prefixes de repertoires que sh(1) et beaucoup d'autres programmes utilisent lors de la recherche d'un fichier executable indique comme simple nom de fichier (c'est-a-dire un nom de chemin ne contenant pas de barre oblique). Les prefixes sont separes par des deux-points (:). La liste est parcourue du debut a la fin en recherchant le nom de chemin forme par la concatenation d'un prefixe, d'une barre oblique et le nom de fichier jusqu'a ce qu'un fichier ayant la permission d'execution soit trouve. En tant que caracteristique patrimoniale, un prefixe de longueur zero (indique par deux deux-points adjacents ou un deux-points initial ou final) est interprete comme indiquant le repertoire de travail utilise. Cependant, l'utilisation de cette fonctionnalite est obsolete et POSIX note qu'une application devrait utiliser un nom de chemin explicite pour etre conforme (par exemple, << . >>) pour indiquer le repertoire de travail utilise. Similairement a PATH, il existe CDPATH qui est utilise par certains interpreteurs de commandes pour connaitre le chemin de destination d'une commande de changement de repertoire, MANPATH qui est utilise 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'interpreteur de connexion de l'utilisateur, defini au moment de la connexion. Consultez la section NOTES ci-apres. TERM Le type de terminal utilise pour les affichages. PAGER L'utilitaire prefere de l'utilisateur pour afficher les fichiers texte. N'importe quelle chaine acceptable comme operande de chaine de commande pour la commande sh -c est autorisee. Si PAGER est NULL ou n'est pas defini, alors les applications lancant un visionneur (pager) se rabattront sur un programme tel que less(1) ou more(1). EDITOR/VISUAL L'utilitaire prefere de l'utilisateur pour editer les fichiers texte. N'importe quelle chaine acceptable comme operande de chaine de commande pour la commande sh -c est autorisee. Remarquez que le comportement de nombreux programmes ou routines de bibliotheque est influence par la presence 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 regionalisation. Consultez catopen(3), gettext(3) et locale(7). - TMPDIR modifie le prefixe de chemin d'acces des fichiers crees par tempnam(3) et d'autres fonctions, et le repertoire temporaire utilise 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'editeur de lien dynamique. Consultez aussi ld.so(8). - POSIXLY_CORRECT oblige certains programmes ou routines de bibliotheque a respecter scrupuleusement la norme POSIX. - Le comportement de malloc(3) est influence par les variables MALLOC_*. - La variable HOSTALIASES fournit le nom d'un fichier contenant les alias a utiliser avec gethostbyname(3). - TZ et TZDIR gerent les informations sur les fuseaux horaires utilisees 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 maniere de traiter un terminal (ou donne le nom d'un fichier contenant ces specifications). - COLUMNS et LINES indiquent aux applications la taille de la fenetre, eventuellement avec preseance sur la taille reelle. - PRINTER ou LPDEST indiquent l'imprimante a utiliser. Consultez lpr(1). NOTES Historiquement et selon l'habitude, environ doit etre declare dans le programme de l'utilisateur. Cependant, par commodite (non standard) de programmation, environ est declare dans le fichier d'en-tete si la macro de test de fonctionnalites _GNU_SOURCE est definie. Consultez feature_test_macros(7). Les operations PR_SET_MM_ENV_START et PR_SET_MM_ENV_END de prctl(2) peuvent etre utilisees pour controler l'emplacement de l'environnement du processus. Les variables HOME, LOGNAME, SHELL et USER sont definies quand l'utilisateur est change a l'aide d'une interface de gestion de session, classiquement par un programme tel que login(1) a partir d'une base de donnees d'utilisateurs (telle que passwd(5)). Basculer vers le superutilisateur en utilisant su(1) peut aboutir a un environnement mixte ou LOGNAME et USER sont conserves de l'ancien utilisateur. Consultez la page de manuel de su(1). BOGUES Il est clair qu'il y a ici un risque de securite. De nombreuses commandes systeme peuvent etre 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 defaut de l'environnement par des variables d'environnement avec le meme nom en capitales. Ainsi, CC peut etre utilise pour choisir le compilateur C (et de meme pour MAKE, AR, AS, FC, LD, LEX, RM, YACC, etc.). Toutefois dans certaines utilisations traditionnelles, de telles variables fournissent des options a certains programmes plutot qu'un chemin. Ainsi, un utilisateur a MORE et LESS. De telles utilisations sont considerees fautives et doivent etre evitees 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 francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Paul Guillonneau Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 environ(7)