NOM¶
environ - Environnement utilisateur
SYNOPSIS¶
extern char **environ;
DESCRIPTION¶
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,
consultez 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, consultez
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).
Consultez 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.
Consultez
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.44 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et
l'équipe francophone de traduction de Debian (2006-2009).
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> ».