env (Unix)
env (abbreviazione dalla lingua inglese di environment, ambiente) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX[1] e GNU[2], che avvia altri comandi con precise impostazioni delle variabili d'ambiente.
env può anche essere usato per visualizzare le impostazioni correnti delle variabili d'ambiente, o anche per avviare comandi di cui non si conosce con precisione il pathname.
Sintassi
[modifica | modifica wikitesto]La sintassi generale di env è
env [opzioni] [--] [variabile=valore …] [comando [parametro1 …] ]
Il parametro facoltativo comando indica un comando da eseguire, opzionalmente seguito dai suoi parametri. Il parametro comando può essere specificato tramite un pathname relativo o assoluto, o anche con il suo nome di base (privo dell'indicazione della directory che lo contiene): in quest'ultimo caso env, analogamente alle shell testuali, effettua una ricerca nelle directory elencate nella variabile d'ambiente $PATH.
Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
È possibile assegnare una o più variabili d'ambiente (visibili solo a comando) usando uno o più parametri nella forma "variabile=valore".
Se env è invocato senza alcun comando, esso si limita a mostrare il valore corrente delle variabili d'ambiente (incluse quelle opzionalmente specificate come parametri).
L'unica opzione degna di nota è -i, che fa in modo che comando abbia visibilità delle sole variabili d'ambiente specificate come parametri ad env, e non anche di quelle correntemente impostate.
Esempi
[modifica | modifica wikitesto]Mostra le impostazioni correnti delle variabili d'ambiente:
env
Mostra sullo standard output le impostazioni correnti delle variabili d'ambiente, ordinandole alfabeticamente usando sort in una pipeline software:
env | sort
Avvia una nuova shell Bash senza le variabili d'ambiente correnti:
env -i /bin/bash
Esegue il comando dell'X Window System xcalc con un valore diverso della variabile d'ambiente DISPLAY:
env DISPLAY=192.168.1.1:0 xcalca
Note
[modifica | modifica wikitesto]- ^ (EN) env, in The Open Group Base Specifications Issue 7 IEEE Std 1003.1-2008. URL consultato il 20-06-2009.
- ^ (EN) env: Run a command in a modified environment, in GNU Coreutils manual. URL consultato il 24-05-2008.