You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CORSO DI FONDAMENTI DEI SISTEMI OPERATIVI<br />
A.A. 2012-2013<br />
(Prof. G. Piscitelli)<br />
1) Quando il comando non contiene il carattere '/', la <strong>shell</strong> tenta di localizzarlo mediante i seguenti passi:<br />
a. verifica che il comando sia una funzione della <strong>shell</strong>;<br />
b. verifica che sia un comando incorporato (built-in);<br />
c. cerca nelle directory specificate nell'ordine in cui sono elencate nella variabile PATH un file<br />
eseguibile con il nome specificato. La <strong>shell</strong> esegue il primo file eseguibile con il nome specificato che<br />
trova.<br />
2) Quando il comando contiene uno o più '/', la <strong>shell</strong> esegue il programma corrispondente al pathname<br />
specificato. Quando si specifica il pathname per eseguire un comando, è necessario utilizzare almeno un<br />
carattere '/'.<br />
Per eseguire un comando il cui file è nella directory corrente, sarà necessario utilizzare la sintassi ./nome_file.<br />
Per ovviare a questo problema è possibile inserire la directory '.' nella variabile PATH.<br />
Exit status (?)<br />
Ogni comando <strong>shell</strong>, al termine dell'esecuzione, fornisce un exit status ovvero un valore intero compreso tra 0 e<br />
255 che ne descrive l'esito dell'esecuzione. Per convenzione:<br />
0 indica che il programma è stato eseguito con successo;<br />
[1-255] indica che il programma non è terminato correttamente (il significato del valore dell'exit status è<br />
descritto nella pagina di manuale).<br />
La <strong>shell</strong> memorizza l'exit status dell'ultimo comando eseguito nella variabile ?.<br />
$ cat /etc/shadow<br />
$ echo $?<br />
1<br />
export<br />
Per rendere d'ambiente una variabile dichiarata si usa il comando export.<br />
L'assegnazione o la creazione di una variabile ha validità solo nel'ambito della <strong>shell</strong> stessa.<br />
SINTASSI: $ export nome[=valore]<br />
set/unset<br />
Il comando set visualizza tutte le variabili definite nella <strong>shell</strong> in esecuzione, anche quelle create manualmente.<br />
Il comando:<br />
SINTASSI: $ unset nomevariabile<br />
rimuove la variabile.<br />
Esercizi<br />
1. Copia il file /bin/echo nella tua home directory ed eseguilo con gli argomenti “Hello World!”<br />
2. Aggiungi alla variabile PATH la directory '.' facendo in modo che il comando echo eseguito sia sempre quello<br />
della copia nella tua home directory.<br />
Esercitazioni comandi <strong>shell</strong> <strong>Bash</strong> (Ing. S. Giannini) Pagina 30