export è un comando interno delle shell testuali dei sistemi operativi Unix e Unix-like, e più in generale nei sistemi POSIX[1], che rende variabili d'ambiente una o più variabili della shell, con la possibilità nel contempo di assegnare loro dei valori (alcune shell testuali non supportano quest'ultima funzionalità, ad esempio /bin/sh in Solaris).
Le variabili così esportate, essendo anche variabili d'ambiente, sono automaticamente propagate ai programmi avviati in seguito dalla shell (per il meccanismo per cui un nuovo processo eredita una copia delle variabili d'ambiente del proprio processo padre).
export può anche essere usato per ottenere un elenco delle variabili correntemente esportate.
Dato che opera sulle variabili della shell, normalmente non accessibili ad altri processi, il comando export è tipicamente un comando interno della shell, e non un programma esterno.
Sintassi
[modifica | modifica wikitesto]La sintassi generale di export è la seguente:
export variabile1[=valore1] [variabile2[=valore2] …]
I parametri variabile indicano i nomi delle variabili da esportare.
I parametri valore (facoltativi) indicano i valori da assegnare alle rispettive variabili. Se contengono spazi o altri caratteri che sono interpretati in maniera speciale dalla shell, si possono racchiudere tra apici singoli (') o doppi (").
Esiste anche una seconda forma del comando, che è la seguente:
export -p
In questo caso viene prodotto sullo standard output un elenco delle variabili esportate e dei loro valori, sotto forma di una serie di comandi che possono essere ad esempio memorizzati in uno script ed essere eseguiti in un momento successivo per ripristinare l'insieme delle variabili d'ambiente e dei loro valori.
Esempi
[modifica | modifica wikitesto]Assegna un valore alla variabile di shell amici e poi la rende una variabile d'ambiente:
$ amici="Alice Bruno Carlo" $ export amici
Come sopra, ma usa un unico comando:
$ export amici="Alice Bruno Carlo"
Visualizza un elenco delle variabili esportate con i loro valori:
$ export -p export DISPLAY=":0.0" export HOME="/home/user" export LANG="it_IT.UTF-8" export OLDPWD export PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games" export POSIXLY_CORRECT="1" export PWD="/home/user" export SHELL="/bin/bash" export TERM="xterm" export USER="user" export USERNAME="user"
Salva l'elenco delle variabili esportate in uno script di shell chiamato variabili.sh (tramite la redirezione), imposta la variabile d'ambiente http_proxy ad un valore, esegue il comando wget e poi ripristina i valori precedenti delle variabili d'ambiente eseguendo lo script salvato:
$ export -p > variabili.sh $ export http_proxy=http://my.proxy:8080 $ wget http://it.wikipedia.org $ . variabili.sh