environ

ENVIRON(5)                  Linux Programmer's Manual                 ENVIRON(5)



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.

       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).

       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.

       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(), putenv(), setenv() e unsetenv().

       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 LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES, ecc.
       influenzano l'uso delle localizzazioni.

       TMPDIR influenza il prefisso del percorso di nomi creati da tmpnam() 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() è influenzato dalle variabili MALLOC_*.

       TZ e TZDIR forniscono informazioni sul fuso orario.

       TERMCAP spiega come comunicare con un dato tipo di terminale (o dà il
       nome di un file che contiene queste informazioni).

       Ecc. ecc.

       Evidentemente, ci sono problemi di sicurezza. Molti comandi di sistema
       hanno causato problemi quando un utente ha impostato IFS o
       LD_LIBRARY_PATH con valori strani.


VEDERE ANCHE
       login(1), sh(1), bash(1), csh(1), tcsh(1), exec(3), getenv(3), putenv(3),
       setenv(3), unsetenv(3).



Linux                            21 gennaio 1993                      ENVIRON(5)