.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1993 Michael Haardt (michael@moria.de),
.\" Fri Apr 2 11:32:09 MET DST 1993
.\" and Andries Brouwer (aeb@cwi.nl), Fri Feb 14 21:47:50 1997.
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" .
.\" %%%LICENSE_END
.\"
.\" Modified Sun Jul 25 10:45:30 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Mon Oct 21 17:47:19 1996 by Eric S. Raymond (esr@thyrsus.com)
.\" Modified Wed Aug 27 20:28:58 1997 by Nicolás Lichtmaier (nick@debian.org)
.\" Modified Mon Sep 21 00:00:26 1998 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Wed Jan 24 06:37:24 2001 by Eric S. Raymond (esr@thyrsus.com)
.\" Modified Thu Dec 13 23:53:27 2001 by Martin Schulze
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH ENVIRON 7 "13 agosto 2020" Linux "Manuale del programmatore di Linux"
.SH NOME
environ \- ambiente dell'utente
.SH SINTASSI
.nf
\fBextern char **\fP\fIenviron\fP\fB;\fP
.fi
.SH DESCRIZIONE
La variabile \fIenviron\fP 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 \fI\fP se la macro per test
di funzionalità \fB_GNU_SOURCE\fP è definita). Questo array di stringhe è reso
disponibile al processo dalla chiamata di sistema \fBexec\fP(3) che lo aveva
fatto partire. Quando viene creato un processo figlio tramite \fBfork\fP(2),
esso eredita una \fIcopia\fP dell'ambiente del suo genitore.
.PP
Per convenzione le stringhe in \fIenviron\fP sono nella forma
"\fInome\fP\fB=\fP\fIvalore\fP". Esempi comuni sono:
.TP
\fBUSER\fP
Il nome dell'utente collegato (usato da programmi derivati da BSD).
.TP
\fBLOGNAME\fP
Il nome dell'utente collegato (usato da programmi derivati da System V).
.TP
\fBHOME\fP
La directory di login dell'utente, impostata da \fBlogin\fP(1) al valore
specificato nel file delle password \fBpasswd\fP(5).
.TP
\fBLANG\fP
Il nome della localizzazione da usare per le categorie di localizzazione
quando non siano specificate altrimenti da \fBLC_ALL\fP o da variabili
d'ambiente più specifiche come \fBLC_COLLATE\fP, \fBLC_CTYPE\fP, \fBLC_MESSAGES\fP,
\fBLC_MONETARY\fP, \fBLC_NUMERIC\fP e \fBLC_TIME\fP (vedi \fBlocale\fP(7) per ulteriori
dettagli sulle variabili d'ambiente \fBLC_*\fP).
.TP
\fBPATH\fP
La sequenza dei prefissi di directory che \fBsh\fP(1) e molti altri programmi
usano per cercare un file che ha un nome di percorso incompleto. I prefissi
sono separati da \(aq\fB:\fP\(aq. (Allo stesso modo, \fBCDPATH\fP è usato da
alcune shell per trovare la destinazione di un cambio di directory,
\fBMANPATH\fP è usato da \fBman\fP(1) per trovare pagine di manuale, e così via).
.TP
\fBPWD\fP
La directory di lavoro corrente. Impostato da alcune shell.
.TP
\fBSHELL\fP
Il nome di file della shell di login dell'utente.
.TP
\fBTERM\fP
Il tipo di terminale per il quale deve essere preparato l'output.
.TP
\fBPAGER\fP
L'utilità preferita dall'utente per visualizzare file di testo.
.TP
\fBEDITOR\fP/\fBVISUAL\fP
.\" .TP
.\" .B BROWSER
.\" The user's preferred utility to browse URLs. Sequence of colon-separated
.\" browser commands. See http://www.catb.org/\(tiesr/BROWSER/ .
L'utilità preferita dall'utente per editare file di testo.
.PP
I nomi possono essere messi nell'ambiente di shell dal comando \fIexport\fP e
da `"nome=valore" in \fBsh\fP(1), o dal comando \fIsetenv\fP se si usa \fBcsh\fP(1).
.PP
L'ambiente iniziale della shell è riempito in diversi modi, tra i quali le
definizioni contenute in \fI/etc/environment\fP che sono elaborate da
\fBpam_env\fP(8) per tutti gi utenti al momento del login (su sistemi che
impiegano \fBpam\fP(8)). In aggiunta, vari script di inizializzazione della
shell, come lo script a livello globale \fI/etc/profile\fP 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.
.PP
Le shell in stile Bourne riconoscono la sintassi
.PP
NOME=valore comando
.PP
per creare una definizione di variabile d'ambiente solo nell'ambito del
processo che esegue \fIcomando\fP. Più definizioni di variabile, separate da
spazi bianchi, possono precedere \fIcomando\fP.
.PP
Argomenti posso essere messi nell'ambiente come parametro di un
\fBexec\fP(3). Un programma in C può modificare il suo ambiente usando le
funzioni \fBgetenv\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3) e \fBunsetenv\fP(3).
.PP
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:
.IP * 3
Le variabili \fBLANG\fP, \fBLANGUAGE\fP, \fBNLSPATH\fP, \fBLOCPATH\fP, \fBLC_ALL\fP,
\fBLC_MESSAGES\fP eccetera, influenzano l'uso delle localizzazioni; si veda
\fBcatopen\fP(3), \fBgettext\fP(3) e \fBlocale\fP(7).
.IP *
\fBTMPDIR\fP influenza il prefisso del percorso di nomi creati da \fBtempnam\fP(3)
e altre routine, e la directory temporanea usata da \fBsort\fP(1) e da altri
programmi.
.IP *
\fBLD_LIBRARY_PATH\fP, \fBLD_PRELOAD\fP e altre variabili \fBLD_*\fP influenzano il
comportamento del loader/linker dinamico.
.IP *
\fBPOSIXLY_CORRECT\fP fa seguire ad alcuni programmi e routine di libreria le
norme POSIX.
.IP *
Il comportamento di \fBmalloc\fP(3) è influenzato dalle variabili \fBMALLOC_*\fP.
.IP *
La variabile \fBHOSTALIASES\fP dà il nome di un file contenente degli alias da
usare con \fBgethostbyname\fP(3).
.IP *
\fBTZ\fP e \fBTZDIR\fP dà informazioni sulla zona di fuso orario utilizzata da
\fBtzset\fP(3) e, attraverso questa, da funzioni come \fBctime\fP(3),
\fBlocaltime\fP(3), \fBmktime\fP(3), \fBstrftime\fP(3). Vedere anche \fBtzselect\fP(8).
.IP *
\fBTERMCAP\fP dà informazioni su come indirizzare un dato terminale (o dà il
nome di un file contenente tali informazioni).
.IP *
\fBCOLUMNS\fP e \fBLINES\fP informa le applicazioni sulla dimensione della
finestra, forse sovrascrivendo la dimensione attuale.
.IP *
\fBPRINTER\fP o \fBLPDEST\fP può specificare la stampante che si desidera
usare. Vedere \fBlpr\fP(1).
.SH NOTE
Le operazioni \fBPR_SET_MM_ENV_START\fP e \fBPR_SET_MM_ENV_END\fP di \fBprctl\fP(2)
possono essere usate per controllare la posizione dell'ambiente dei
processi.
.SH 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
\fBIFS\fP o \fBLD_LIBRARY_PATH\fP.
.PP
C'è anche il rischio di un inquinamento dello spazio nome. Programmi come
\fImake\fP e \fIautoconf\fP 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 \fBCC\fP per selezionare il
compilatore C desiderato (e similarmente \fBMAKE\fP, \fBAR\fP, \fBAS\fP, \fBFC\fP,
\fBLD\fP, \fBLEX\fP, \fBRM\fP, \fBYACC\fP, 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 \fBMORE\fP, \fBLESS\fP e \fBGZIP\fP. Tale uso è
considerato scorretto, e deve essere evitato nei nuovi programmi. Gli autori
di \fIgzip\fP devono pensare di rinominare la loro opzione a \fBGZIP_OPT\fP.
.SH "VEDERE ANCHE"
\fBbash\fP(1), \fBcsh\fP(1), \fBenv\fP(1), \fBlogin\fP(1), \fBprintenv\fP(1), \fBsh\fP(1),
\fBtcsh\fP(1), \fBexecve\fP(2), \fBclearenv\fP(3), \fBexec\fP(3), \fBgetenv\fP(3),
\fBputenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3), \fBlocale\fP(7), \fBld.so\fP(8),
\fBpam_env\fP(8)
.SH COLOPHON
Questa pagina fa parte del rilascio 5.10 del progetto Linux
\fIman\-pages\fP. 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/.
.SH TRADUZIONE
La traduzione italiana di questa pagina di manuale è stata creata da
Giovanni Bortolozzo ,
Alessandro Rubini ,
Ottavio G. Rizzo ,
Giulio Daprelà ,
Elisabetta Galli
e
Marco Curreli
.
Questa traduzione è documentazione libera; leggere la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License Versione 3
.UE
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
.MT
pluto-ildp@lists.pluto.it
.ME .