Provided by: manpages-it_4.13-4_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.
       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. Gli esempi comprendono:

       *  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 tempnam(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).

NOTE

       Le operazioni PR_SET_MM_ENV_START e PR_SET_MM_ENV_END di prctl(2) possono essere usate per
       controllare la posizione dell'ambiente dei processi.

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), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8), pam_env(8)

COLOPHON

       Questa pagina fa parte del rilascio 5.10 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/.

TRADUZIONE

       La  traduzione  italiana di questa pagina di manuale è stata creata da Giovanni Bortolozzo
       <borto@dei.unipd.it>,   Alessandro   Rubini   <rubini@linux.it>,    Ottavio    G.    Rizzo
       <rizzo@pluto.linux.it>,  Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e
       Marco Curreli <marcocurreli@tiscali.it>

       Questa traduzione è documentazione libera; leggere la GNU General Public License  Versione
       3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o successiva per le condizioni di copyright.
       Non ci assumiamo alcuna responsabilità.

       Per segnalare errori nella traduzione di questa pagina di manuale inviare un  messaggio  a
       pluto-ildp@lists.pluto.it ⟨⟩.