jammy (7) environ.7.gz

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 ⟨⟩.