Cosa sono le variabili d'ambiente?
Le variabili d'ambiente contengono valori relativi all'ambiente corrente, come il sistema operativo o le sessioni utente.
Percorso
Uno dei più noti si chiama PATH
su Windows, Linux e Mac OS X. Specifica le directory in cui si trovano i programmi eseguibili* sulla macchina che possono essere avviati senza conoscere e digitando l'intero percorso del file sulla riga di comando. (O in Windows, la finestra di dialogo Run nel menu Start o
+R). Su Linux e Mac OS X, di solito contiene tutte le directory bin
e sbin
rilevanti per l'utente corrente. Su Windows, contiene almeno le directory C:\Windows
e C:\Windows\system32
- ecco perché è possibile run calc.exe
o notepad.exe
dalla riga di comando o dalla finestra di dialogo Run, ma non firefox.exe
. (Firefox si trova in C:\Program Files\Mozilla Firefox
. Per informazioni su come includere Firefox, andare qui .)
Per esempio, digitando calc
(il .exe
_può essere omesso) nella riga di comando di Windows si avvia la calcolatrice di Windows.
* Si può aggiungere il supporto per estensioni di file diverse da .exe
modificando %PATHEXT%
.
Altre
Altre variabili potrebbero indicare ai programmi che tipo di terminale viene usato (TERM
su Linux/Mac OS X), o, su Windows, dove si trova la cartella Windows (ad esempio, %WINDIR%
è C:\Windows
).
Creazione di nuove variabili d'ambiente
In Windows, Linux e Unix, è possibile creare nuove variabili d'ambiente, i cui valori sono poi resi disponibili a tutti i programmi al momento del lancio.
È possibile utilizzare questa funzione quando si scrivono script o programmi che sono installati o distribuiti su più macchine e che necessitano di valori di riferimento specifici per queste macchine. Anche se un effetto simile può essere ottenuto usando impostazioni di configurazione specifiche di un programma, è più facile farlo usando una variabile d'ambiente se più programmi devono accedere allo stesso valore.
Windows
GUI
Apri Control Panel » System » Advanced » Environment Variables
.
- Digitare
control sysdm.cpl,,3
nella finestra di dialogo Esegui (
+R) e fare clic su Environment Variables
.
Per modificare le variabili utente è possibile anche digitare
Digitare
. 3. Fare clic con il tasto destro del mouse su (My) Computer e fare clic su Proprietà, o semplicemente premere
+Break.
- Premere &004+Break. Ci sono molti altri modi per raggiungere lo stesso punto, come ad esempio digitando “variabili d'ambiente” nel menu di avvio/schema di ricerca e così via.
Le variabili d'ambiente in Windows sono separate in valori specifici dell'utente e della macchina/sistema. Qui è possibile visualizzare e modificare i loro valori. I loro valori attuali al lancio sono resi disponibili a tutti i programmi.
C'è anche Rapid Environment Editor , che aiuta ad impostare e modificare le variabili d'ambiente in Windows senza la necessità di andare in profondità nelle impostazioni di sistema. Un altro programma open source per Windows con il quale l'ambiente di percorso può essere modificato molto comodamente è Path Editor .
Linea di comando
Formato
Formato
Le variabili d'ambiente in Windows sono indicate con segni di percentuale (%) che circondano il nome:
%name%
echo
Per visualizzare il valore di una variabile d'ambiente in cmd.exe
, digitare echo %name%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
``` ```
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
imposta
Per creare/impostare una variabile, usare set varname=value
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
``` ```
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
Per aggiungere/aggiungere una variabile, usare set varname=value;%varname%
:
var=value; export var
export var=value
``` &001
Le variabili d'ambiente così impostate sono disponibili per (il resto della) durata del processo di Prompt dei comandi in cui sono impostate, e sono disponibili per i processi che vengono avviati dopo l'impostazione delle variabili.
### setx
Per **creare/impostare** una variabile **permanentemente** , usare `setx varname "value"`:
&001
A differenza di `set`, non c'è un segno di uguale e il valore deve essere racchiuso tra virgolette se contiene degli spazi. Si noti che le variabili possono espandersi in una stringa con spazi (ad esempio, `%PATH%` diventa `C:\Program Files`), quindi è meglio includere le virgolette attorno a valori che contengono qualsiasi variabile.
È necessario aggiungere manualmente `setx` alle versioni di Windows precedenti a Vista. [ Windows XP Service Pack 2 Support Tools ](http://www.microsoft.com/downloads/en/details.aspx?FamilyId=49AE8576-9BB9-4126-9761-BA8011FABF38&displaylang=en)
## Lista delle variabili d'ambiente di Windows
[ Qui ](http://en.wikipedia.org/wiki/Environment_variable#Default_Values) è una lista di **variabili d'ambiente difettose** , che sono incorporate in Windows. Alcuni esempi sono:`%WINDIR%`, `%SystemRoot%`, `%USERPROFILE%`, `%APPDATA%` e `/etc`. Come la maggior parte dei nomi in Windows, questi sono case-insensitive.
# Derivati Unix (FreeBSD, GNU / Linux, OS X)
Le variabili d'ambiente in Linux hanno il prefisso con il segno del dollaro ($) come $HOME o $HOSTNAME. Molte variabili ben note e standard sono scritte in lettere maiuscole a significare proprio questo. Si tenga presente che i nomi delle variabili sono sensibili alle maiuscole e minuscole, il che significa che $Utente e $Utente sono del tutto estranei dal punto di vista della shell.
I derivati Unix definiscono le variabili a livello di sistema negli script di shell situati per lo più nella cartella `/etc/profile`, ma valori specifici per l'utente possono essere dati a quelle variabili negli script situati nella cartella home (per esempio, `$HOME/.bash_profile`, `.profile`). Il file `export` nella cartella home è un luogo comune per definire le variabili utente.
**Impostazione variabili**
Questi file sono normali script di shell e possono contenere più di semplici dichiarazioni di variabili d'ambiente. Per impostare una variabile d'ambiente, usare `env`. Per mostrare le variabili d'ambiente attualmente definite in un terminale, eseguire `export`.
Il comando `setenv` è un modo standard per definire le variabili. La sintassi è molto intuitiva. Il risultato è identico per queste due righe, ma la prima alternativa è preferibile nel caso in cui sia necessaria la portabilità rispetto alla shell Bourne pre-POSIX.
&001
La shell C e i suoi discendenti usano una sintassi completamente diversa; lì, il comando è `/etc/paths`.
Si veda il progetto di documentazione di Linux, [ Path HOWTO ](http://www.tldp.org/HOWTO/Path.html) per una discussione più approfondita su questo argomento.
Forse, contrariamente a quanto si crede comunemente, OS X è più "Unix" di Linux. Oltre ai file già citati, $PATH può essere modificato in questi file:
- `/bin` contiene tutte le directory predefinite che vengono aggiunte al percorso, come `/usr/sbin` e `/etc/paths.d`.
- Qualsiasi file in `setx` - comunemente usato dagli installatori per rendere disponibili dalla shell i file eseguibili che forniscono senza toccare i file di configurazione specifici del sistema o dell'utente. Questi file contengono semplicemente un percorso per riga, ad esempio /Programmi/Mozilla/Calendario/bin.
## Collegamenti esterni:
> [ Variabili d'ambiente in XP ](http://vlaurie.com/computers2/Articles/environment.htm)
> [ Windows XP Service Pack 2 Support Tools ](http://www.microsoft.com/downloads/en/details.aspx?FamilyId=49AE8576-9BB9-4126-9761-BA8011FABF38&displaylang=en) (Include &007)
> [ Variabili d'ambiente in Windows Vista e Windows 7 ](http://vlaurie.com/computers2/Articles/environment-variables-windows-vista-7.htm)
> [ Aggiunta di eseguibili alla finestra di dialogo Run ](https://web.archive.org/web/20140205002800/http://www.overclock.net/t/15588/how-can-i-start-applications-easily-with-the-run-dialog-box)
> [ Mac OSX Tips - Setting Environment Variables ](http://mactip.blogspot.com/2004/04/setting-environment-variables.html)
> [ TLDP: Path Howto ](http://www.tldp.org/HOWTO/Path.html)