bionic (7) environ.7.gz

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