environ

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



NOME
       environ - ambiente dell'utente

SINTASSI
       extern char **environ;

DESCRIZIONE
       La variabile environ si riferisce a un array di puntatori a stringhe
       chiamato l'«ambiente».  L'ultimo puntatore di questo array ha valore
       NULL.  (Questa variabile deve essere dichiarata nel programma utente, ma
       viene dichiarata nel file header <unistd.h> se la macro per test di
       funzionalità _GNU_SOURCE è definita).  Questo array di stringhe è reso
       disponibile al processo dalla chiamata di sistema exec(3) che lo aveva
       fatto partire.  Quando viene creato un processo figlio tramite fork(2),
       esso eredita una copia dell'ambiente del suo genitore.

       Per convenzione le stringhe in environ 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, e LC_TIME (vedi locale(7)
              per ulteriori dettagli sulle variabili d'ambiente LC_*).

       PATH   La sequenza dei prefissi di directory che sh(1) e molti altri
              programmi usano per cercare un file che ha un nome di 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, e così via).

       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.

       I nomi possono essere messi nell'ambiente di shell dal comando export e
       da `"nome=valore" in sh(1), o dal comando setenv se si usa csh(1).

       L'ambiente iniziale della shell è riempito in diversi modi, tra i quali
       le definizioni contenute in /etc/environment che sono elaborate da
       pam_env(8) per tutti gi utenti al momento del login (su sistemi che
       impiegano pam(8)).  In aggiunta, vari script di inizializzazione della
       shell, come lo script a livello globale /etc/profile e lo script delle
       inizializzazioni per utente possono includere comandi che aggiungolo
       variabili all'ambiente della shell; per i dettagli vedere la pagina di
       manuale della shell preferita..

       Le shell in stile Bourne riconoscono la sintassi

           NOME=valore comando

       per creare una definizione di variabile d'ambiente solo nell'ambito del
       processo che esegue comando.  Più definizioni di variabile, separate da
       spazi bianchi, possono precedere comando.

       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,
       eccetera, influenzano l'uso delle localizzazioni; si veda catopen(3),
       gettext(3), e locale(7).

       TMPDIR influenza il prefisso del percorso di nomi creati da tmpnam(3) e
       altre routine, e la directory temporanea usata da sort(1) e da altri
       programmi.

       LD_LIBRARY_PATH, LD_PRELOAD e altre variabili LD_* influenzano il
       comportamento del loader/linker dinamico.

       POSIXLY_CORRECT fa seguire ad alcuni programmi e 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).

BUG
       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, etc.).  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), env(1), login(1), printenv(1), sh(1), tcsh(1),
       execve(2), clearenv(3), exec(3), getenv(3), pam_env(3), putenv(3),
       setenv(3), unsetenv(3), locale(7), ld.so(8)

COLOPHON
       Questa pagina fa parte del rilascio 4.08 del progetto Linux man-pages.
       Una descrizione del progetto, le istruzioni per la segnalazione degli
       errori, e l'ultima versione di questa pagina si trovano su
       https://www.kernel.org/doc/man-pages/.

       La versione italiana fa parte del pacchetto man-pages-it v. 4.08, a cura
       di: ILDP "Italian Linux Documentation Project" http://www.pluto.it/ildp
       Per la traduzione in italiano si può fare riferimento a
       http://www.pluto.it/ildp/collaborare/
       Segnalare eventuali errori di traduzione a ildp@pluto.it



Linux                              2016-10-08                         ENVIRON(7)