Man page - environ(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr it pl ja ro zh_TW zh_CN deManual
environ
NOMESINTASSI
DESCRIZIONE
NOTE
BUG
VEDERE ANCHE
TRADUZIONE
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.
Per convenzione le stringhe in environ hanno il formato " nome = valore ". Il nome distingue maiuscole da minuscole e non può contenere il carattere " = ". Il valore può essere qualsiasi cosa rappresentabile come stringa. Il nome e il valore non possono contenere il byte nullo ('\[rs]0') perchÊ si assume che sia il terminatore della stringa.
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).
Segue un elenco di variabili dâambiente che si vedono normalmente sul sistemi. Questo elenco è incompleto e include solo variabili comuni viste dallâutente medio durante il suo accesso di routine. Variabili dâambiente specifiche per programmi o funzioni di libreria sono documentate nella sezione AMBIENTE delle varie pagine di manuale.
|
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 |
La sequenza di prefissi di directory che sh (1) e molti altri programmi utilizzano quando cercano un file eseguibile semplice (vale a dire un nome di percorso senza la barra (slash)). I prefissi sono separarti dal due punti ( : ). Lâelenco di professi è scorso dallâinizio alla fine, cercando nomi di percorso formati dalla concatenazione del prefisso, la barra e il nome del file, finchĂŠ non sia trovato un file con il permesso dâesecuzione. |
Una caratteristica antica è che il prefisso di lunghezza zero (indicato da due due punti adiacenti, oppure uno iniziale o uno finale) indica la directory corrente. Comunque lâutilizzo di questa interpretazione è scoraggiato, e POSIX annota che una applicazione conforme (a POSIX) dovrebbe utilizzare un nome di percorso esplicito (cioè, . ) per indicare la directory corrente.
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 |
Il percorso assoluto per la directory di lavoro corrente; deve essere parzialmente canonico (senza componenti . o .. ). |
||
|
SHELL |
Il nome di percorso assoluto della shell di login dellâutente. Viene impostato allâaccesso, vedere la sezione NOTE sottostante. |
||
|
TERM |
Il tipo di terminale per il quale deve essere preparato lâoutput. |
||
|
PAGER |
Lo strumento preferito dallâutente per visualizzare file di testo. Qualsiasi stringa accettabile come comando da dare a sh -c è valida. Se PAGER è nullo o non è impostato, allora lâapplicazione che esegue il paginatore userĂ un suo programma predefinito come less (1) o more (1). |
EDITOR / VISUAL
Lo strumento preferito dallâutente per modificare file di testo. Qualsiasi stringa accettabile come comando da dare a sh -c è valida.
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
Storicamente e secondo lo standard, environ deve essere dichiarato nei programmi utente. In ogni caso, come aiuto (non standard) al programmatore, environ è dichiarato nel file header <unistd.h> se la macro di test _GNU_SOURCE è definita (vedere 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.
Le variabili HOME , LOGNAME , SHELL e USER sono impostate quando lâutente è cambiato da una interfaccia di gestione della sessione, tipicamente da un programma quale login (1) a partire da un database utenti (come passwd (5)). (Passando allâutente root usando su (1) si può avere un ambiente misto nel quale LOGNAME e USER sono mantenuti dal vecchio utente; vedere la pagina di manuale su (1).)
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)
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>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>
Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 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 .