ENVIRON
Section: Linux Programmer's Manual (7)
Updated: 14 dicembre 2001
Index
Return to Main Contents
NOME
environ - ambiente dell'utente
SINTASSI
extern char **environ;
DESCRIZIONE
La variabile
environ
si riferisce ad un vettore di stringhe chiamato l'«ambiente» (questa
variabile deve essere dichiarata in un programma utente, ma viene
dichiarata nel file header
unistd.h
nel caso in cui l'header venga da libc4 o libc5, o nel caso in cui
venga da glibc e
_GNU_SOURCE
era stata definita).
Questo vettore di stringhe è reso disponibile al processo dalla chiamata di sistema
exec(3)
che lo aveva fatto partire.
Per convenzione queste stringhe sono nella forma
`nome=valore'.
Esempi comuni sono:
- USER
-
Il nome dell'utente collegato (usato da programmi derivati da BSD).
- LOGNAME
-
Il nome dell'utente collegato (usato da programmi derivati da System V).
- HOME
-
La directory di login dell'utente, impostata da
login(1)
al valore specificato nel file delle password
passwd(5).
- LANG
-
Il nome della localizzazione da usare per le categorie di localizzazione quando non
siano specificate altrimenti da LC_ALL o da variabili d'ambiente
più specifiche come LC_COLLATE, LC_CTYPE, LC_MESSAGES,
LC_MONETARY, LC_NUMERIC, LC_TIME, cf.
locale(5).
- PATH
-
La sequenza dei prefissi di directory che
sh(1)
e molti altri
programmi usano per cercare un file noto solo un suo percorso
incompleto. I prefissi sono separati da «:»
(allo stesso modo, CDPATH è usato da alcune shell per trovare la destinazione di un
cambio di directory, MANPATH è usato da
man(1)
per trovare
pagine di manuale, ecc.).
- PWD
-
La directory di lavoro corrente.
Impostato da alcune shell.
- SHELL
-
Il nome di file della shell di login dell'utente.
- TERM
-
Il tipo di terminale per il quale deve essere preparato l'output.
- PAGER
-
L'utilità preferita dall'utente per visualizzare file di testo.
- EDITOR/VISUAL
-
L'utilità preferita dall'utente per editare file di testo.
Ulteriori nomi possono essere messi nell'ambiente dal comando export
e da `nome=valore' in
sh(1),
o dal comando setenv se si usa
csh(1).
Argomenti posso essere messi nell'ambiente come
parametro di un
exec(3).
Un programma in C può modificare il suo ambiente usando le funzioni
getenv(3),
putenv(3),
setenv(3),
e
unsetenv(3).
Si noti che il comportamento di molti programmi e routine delle
librerie è influenzato dalla presenza o dal valore di alcune variabili
d'ambiente. Una raccolta a caso:
Le variabili
LANG, LANGUAGE, NLSPATH, LOCPATH,
LC_ALL, LC_MESSAGES,
ecc. influenzano l'uso delle localizzazioni, cf.
locale(5).
TMPDIR
influenza il prefisso del percorso di nomi creati da
tmpnam(3)
e altre routine, la directory temporanea usata da
sort(1)
e da altri programmi, ecc.
LD_LIBRARY_PATH, LD_PRELOAD
e altre variabili LD_* influenzano il
comportamento del loader/linker dinamico.
POSIXLY_CORRECT
fa seguire ad alcuni programmi a routine di libreria
le norme POSIX.
Il comportamento di
malloc(3)
è influenzato dalle variabili MALLOC_*.
La variabile
HOSTALIASES
dà il nome di un file contenente degli alias
da usare con
gethostbyname(3).
TZ e TZDIR
dà informazioni sulla zona di fuso orario utilizzata da
tzset(3)
e, attraverso questa, da funzioni come
ctime(3),
localtime(3),
mktime(3),
strftime(3).
Vedere anche
tzselect(8).
TERMCAP
dà informazioni su come indirizzare un dato terminale
(o dà il nome di un file contenente tali informazioni).
COLUMNS e LINES
informa le applicazioni sulla dimensione della finestra, forse sovrascrivendo la dimensione attuale.
PRINTER o LPDEST
può specificare la stampante che si desidera usare.
Vedere
lpr(1).
Ecc.
BACHI
Qui c'è chiaramente un rischio di sicurezza.
Molti comandi di sistema
sono stati indotti a fare danni da un utente che specificava valori insoliti per
IFS o LD_LIBRARY_PATH.
C'è anche il rischio di un inquinamento dello spazio nome.
Programmi come
make
e
autoconf
permettono la sovrascrittura dei nomi delle utility di default
dall'ambiente con variabili dal nome simile cambiato in maiuscole/minuscole.
In questo modo esse usano
CC
per selezionare il compilatore C desiderato (e similarmente
MAKE,
AR,
AS,
FC,
LD,
LEX,
RM,
YACC,
ecc.).
Tuttavia in alcuni usi tradizionali tale variabile d'ambiente
dà opzioni al programma invece di un nome di percorso.
In questo modo uno ha
MORE,
LESS,
e
GZIP.
Tale uso è considerato scorretto, e deve essere evitato nei nuovi
programmi.
Gli autori di
gzip
devono pensare di rinominare la loro opzione a
GZIP_OPT.
VEDERE ANCHE
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
Questa pagina fa parte del rilascio 2.76 del progetto
man-pages
di Linux.
Si può trovare una descrizione del progetto,
e informazioni su come riportare bachi,
presso
http://www.kernel.org/doc/man-pages/.
Per la traduzione in italiano si può fare riferimento a
http://www.pluto.it/ildp/collaborare/
Index
- NOME
-
- SINTASSI
-
- DESCRIZIONE
-
- BACHI
-
- VEDERE ANCHE
-
- COLOPHON
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:53 GMT, June 17, 2008