Provided by: manpages-it_4.15.0-9_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. Questo array di  stringhe
       è  reso  disponibile al processo dalla chiamata di sistema execve(2) quando viene eseguito
       un nuovo programmaQuando viene creato un processo figlio tramite fork(2), esso eredita una
       copia dell'ambiente del suo genitore.

       By  convention,  the  strings  in  environ  have  the  form  "name=value".   The  name  is
       case-sensitive and may not contain the character "=".  The value can be anything that  can
       be  represented as a string.  The name and the value may not contain an embedded null byte
       ('\0'), since this is assumed to terminate the string.

       Le variabili d'ambiente possono essere messe 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).

       What  follows is a list of environment variables typically seen on a system.  This list is
       incomplete and includes only common variables seen by average users  in  their  day-to-day
       routine.   Environment  variables specific to a particular program or library function are
       documented in the ENVIRONMENT section of the appropriate manual page.

       USER   Il nome dell'utente collegato (usato da programmi derivati da  BSD).  Impostato  al
              momento del login, vedi NOTE più avanti.

       LOGNAME
              Il  nome dell'utente collegato (usato da programmi derivati da System V). Impostato
              al momento del login, vedi NOTE più avanti.

       HOME   La directory di login dell'utente. Impostata al momento del login,  vedi  NOTE  più
              avanti.

       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   The sequence of directory prefixes that sh(1)  and many other programs employ  when
              searching  for  an  executable file that is specified as a simple filename (i.a., a
              pathname that contains no slashes).  The prefixes are separated by colons (:).  The
              list of prefixes is searched from beginning to end, by checking the pathname formed
              by concatenating a prefix, a slash, and the filename, until  a  file  with  execute
              permission is found.

              As  a legacy feature, a zero-length prefix (specified as two adjacent colons, or an
              initial  or  terminating  colon)   is  interpreted  to  mean  the  current  working
              directory.   However,  use  of  this  feature is deprecated, and POSIX notes that a
              conforming application shall use an explicit pathname (e.g.,  .)   to  specify  the
              current working directory.

              Analogamente a PATH, 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  The  absolute  pathname  of the user's login shell.  Set at login time, see section
              NOTES below.

       TERM   Il tipo di terminale per il quale deve essere preparato l'output.

       PAGER  The user's preferred utility to display text files.  Any  string  acceptable  as  a
              command-string operand to the sh -c command shall be valid.  If PAGER is null or is
              not set, then applications that launch a pager will default to a  program  such  as
              less(1)  or more(1).

       EDITOR/VISUAL
              The  user's  preferred  utility  to  edit  text  files.  Any string acceptable as a
              command_string operand to the sh -c command shall be valid.

       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. Si veda anche ld.so(8).

       *  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

       Historically and by standard, environ must be declared in the user program.  However, as a
       (nonstandard) programmer convenience, environ is declared in the header file <unistd.h> if
       the _GNU_SOURCE feature test macro is defined (see feature_test_macros(7)).

       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.

       The HOME, LOGNAME, SHELL, and USER variables are set  when  the  user  is  changed  via  a
       session  management  interface,  typically  by  a  program  such  as login(1)  from a user
       database (such as passwd(5)).  (Switching to the root user using su(1)  may  result  in  a
       mixed environment where LOGNAME and USER are retained from old user; see the su(1)  manual
       page.)

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 e  LESS.  Tale  uso  è
       considerato scorretto, e deve essere evitato nei nuovi programmi.

VEDERE ANCHE

       bash(1),   csh(1),  env(1),  login(1),  printenv(1),  sh(1),  su(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.13 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⟩.