Handbook:Parts/Working/EnvVar/it

Introduzione
Una variabile d'ambiente è un oggetto denominato che contiene informazioni utilizzate da una o più applicazioni. Molti utenti (e specialmente quelli nuovi su Linux) lo trovano un po' strano o ingestibile. Tuttavia, questo è un errore: utilizzando le variabili d'ambiente si può facilmente modificare un'impostazione di configurazione per una o più applicazioni.

Esempi importanti
La seguente tabella elenca numerose variabili usate da un sistema Linux descrivendone il loro uso. Dopo la tabella vengono presentati dei valori di esempio.

Di seguito è riportato un esempio di definizione per tutte queste variabili:

La cartella env.d
Per centralizzare le definizioni di queste variabili, Gentoo ha introdotto la cartella. All'interno di questa cartella sono disponibili numerosi file, come, , ecc., che contengono le variabili necessarie all'applicazione menzionata nel nome stesso del file.

Per esempio, quando risulta installato, un file chiamato  è stato creato da ebuild, il quale contiene le definizioni delle seguenti variabili:

Altre distribuzioni potrebbero indicare ai loro utenti di modificare o aggiungere queste variabili d'ambiente su o su altre posizioni. Gentoo, d'altro canto, rende facile per l'utente (e per Portage) mantenere e gestire le variabili d'ambiente senza dover prestare attenzione ai numerosi file che possono contenere queste variabili d'ambiente.

Per esempio, quando viene aggiornato, il file  viene anch'esso aggiornato senza chiedere alcuna interazione da parte dell'utente.

Questo non solo avvantaggia Portage, ma anche l'utente. Occasionalmente agli utenti potrebbe venir chiesto di impostare una determinata variabile d'ambiente a livello di sistema. Ad esempio, prendiamo la variabile http_proxy. Anziché mettere in disordine, gli utenti possono ora semplicemente creare un file (per esempio ) ed inserirci le definizioni:

Utilizzando lo stesso file per tutte le variabili autogestite, gli utenti hanno una rapida panoramica sulle variabili che loro stessi hanno definito.

env-update
Svariati file in definiscono la variabile PATH. Questo non è un errore: quando viene eseguito il comando, esso aggiungerà le varie definizioni prima di aggiornare le variabili d'ambiente, rendendo così facile per i pacchetti (o gli utenti) aggiungere la propria impostazione delle variabile d'ambiente senza interferire con i valori preesistenti.

Lo script aggiungerà i valori secondo l'ordine alfabetico dei file. I nomi dei file devono iniziare con due cifre decimali.

Non sempre avviene la concatenazione di variabili, solo con le seguenti variabili: ADA_INCLUDE_PATH, ADA_OBJECTS_PATH , CLASSPATH , KDEDIRS , PATH , LDPATH , MANPATH , INFODIR , INFOPATH , ROOTPATH , CONFIG_PROTECT , CONFIG_PROTECT_MASK , PRELINK_PATH , PRELINK_PATH_MASK , PKG_CONFIG_PATH , and PYTHONPATH. Per tutte le altre variabili viene usato il valore definito per ultimo (secondo l'ordine alfabetico dei file in ).

It is possible to add more variables into this list of concatenate-variables by adding the variable name to either COLON_SEPARATED or SPACE_SEPARATED variables (also inside an file).

When executing, the script will create all environment variables and place them in (which is used by ). It will also extract the information from the LDPATH variable and use that to create. After this, it will run to recreate the  file used by the dynamical linker.

To notice the effect of immediately after running it, execute the following command to update the environment. Users who have installed Gentoo themselves will probably remember this from the installation instructions:

User specific
It might not be necessary to define an environment variable globally. For instance, one might want to add and the current working directory (the directory the user is in) to the PATH variable but do not want all other users on the system to have that in their PATH too. To define an environment variable locally, use or :

After logout/login, the PATH variable will be updated.

Session specific
Sometimes even stricter definitions are requested. For instance, a user might want to be able to use binaries from a temporary directory created without using the path to the binaries themselves or editing for the short time necessary.

In this case, just define the PATH variable in the current session by using the command. As long as the user does not log out, the PATH variable will be using the temporary settings.