28.05.2013 Views

LOA HackLab - Autistici

LOA HackLab - Autistici

LOA HackLab - Autistici

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!