You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
42 C3 La Shell<br />
avviene attraverso il comando export. Con la shell di GNU (ricordiamo che si chiama<br />
bash) è possibile unire le due operazioni in un’unica linea come fatto precedentemente<br />
con PS1 e PS2. Le vecchie bourne invece non consentivano questo, per cui nello scrivere<br />
uno script che deve girare anche su una vecchia shell ricordate di spezzare i comandi:<br />
$ PATH="/usr/local/bin:$PATH"<br />
$ export PATH<br />
$<br />
Come avete notato si fa riferimento ad una variabile con semplicemente con il suo<br />
nome quando le deve essere assegnato un valore. Viene invece riferita con un dollaro ($)<br />
davanti quando la si vuole “dereferenziare”, ossia se ne vuole estrarre il valore contenuto.<br />
Nell’esempio precedente abbiamo scritto PATH="/usr/local/bin:$PATH" che si legge<br />
“assegna alla variabile PATH il valore costituito da /usr/local/bin e il precedente<br />
contenuto della variabile stessa, indicato con $PATH”.<br />
Oltre ai due prompt già incontrati (e badate che esistono anche PS3 e PS4 ma il loro<br />
significato ve lo leggete nella man page della shell :-)vediamo un po’ di altre variabili<br />
notevoli.<br />
Variabile Significato<br />
PPID il PID del processo che ha chiamato la shell<br />
PWD la directory corrente<br />
UID l’UID dell’utente<br />
BASH il filename completo usato per chiamare la shell (solo bash ovviamente)<br />
SHLVL contiene il numero di shell (inclusa quella attuale) che sono state<br />
chiamate a catena<br />
RANDOM ad ogni riferimento, questa variabile cambia valore a caso fra 0 e 32767<br />
HOSTNAME il nome dell’host<br />
HOSTTYPE contiene una descrizione dell’architettura dell’host come i386<br />
OSTYPE contiene una descrizione del tipo di sistema operativo come<br />
linux-gnu<br />
MACHTYPE contiene una descrizione generale del sistema come<br />
i386-pc-linux-gnu<br />
SHELLOPTS contiene una lista delle opzioni selezionate della shell<br />
PATH contiene un elenco di directory chiamato “PATH”all’interno delle<br />
quali cercare gli eseguibili<br />
HOME la home directory dell’utente<br />
MAIL il percorso completo alla mailbox<br />
MAILPATH un elenco separato da : di mailbox<br />
MAILCHECK specifica l’intervallo in secondi fra un check della mail e il successivo<br />
HISTSIZE la dimensione dell’history in comandi<br />
HISTFILE il file nel quale viene salvata la history fra una sessione e l’altra<br />
HISTFILESIZE il massimo numero di linee contenute nel file di history<br />
LANG la categoria linguistica da usare (vale in caso manchi la definizione di<br />
LC * appropriata (vedi man page)<br />
Questo elenco non è esaustivo. Per un elenco completo delle variabili importanti consultate<br />
la man page della shell. Troverete altre variabili ancora, molte delle quali complesse e<br />
esoteriche.