31.05.2013 Views

Comandi Bash shell - SisInf Lab

Comandi Bash shell - SisInf Lab

Comandi Bash shell - SisInf Lab

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.

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

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

Saved successfully!

Ooh no, something went wrong!