Date création : 30-03-2008 14:17:03
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section7 - Divers]
ENVIRON
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- BOGUES
- VOIR AUSSI
- TRADUCTION
NOM
environ - Environnement utilisateur
SYNOPSIS
extern char **environ;
DESCRIPTION
La variable environ pointe sur un tableau de chaînes que l'on nomme « environnement ». (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
Système 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, voir
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(2). 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, voir 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(), localtime(),
mktime(), strftime(). Voir aussi tzselect(1).
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. Voir 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)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|