Provided by: manpages-it_3.73-2_all bug

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.

       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.

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

       Ecc.

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

       env(1), bash(1), csh(1), login(1), printenv(1), sh(1),  tcsh(1),  execve(2),  clearenv(3),
       exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8)

COLOPHON

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

       La versione italiana fa parte del pacchetto man-pages-it v. 3.73, 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