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
indiquées par LC_ALL ou une variable d'environnement
spécifique telle que 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, 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 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(7)
COLOPHON¶
Cette page fait partie de la publication 3.65 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> ».