11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

tee<br />

mkfifo<br />

pathchk<br />

bash$ pr -opzioni file1.txt | lp<br />

Capitolo 12. Filtri, programmi e coman<strong>di</strong> esterni<br />

Pacchetti per la formattazione del testo, quali groff e Ghostscript, possono inviare <strong>di</strong>rettamente i<br />

loro output a lp.<br />

bash$ groff -Tascii file.tr | lp<br />

bash$ gs -opzioni | lp file.ps<br />

Coman<strong>di</strong> correlati sono lpq, per visualizzare la coda <strong>di</strong> stampa, e lprm, per cancellare i job dalla<br />

coda <strong>di</strong> stampa.<br />

[UNIX prende a prestito un’idea dall’idraulica.]<br />

È un operatore <strong>di</strong> re<strong>di</strong>rezione, ma con una <strong>di</strong>fferenza. Come il raccordo a “ti” (T) dell’idraulico,<br />

consente <strong>di</strong> “deviare” in un file l’output <strong>di</strong> uno o più coman<strong>di</strong> <strong>di</strong> una pipe, senza alterarne il<br />

risultato. È utile per registrare in un file, o in un documento, il comportamento <strong>di</strong> un processo, per<br />

tenerne traccia a scopo <strong>di</strong> debugging.<br />

(re<strong>di</strong>rezione)<br />

|----> al file<br />

|<br />

===============================================<br />

comando ---> comando ---> |tee ---> comando ---> ---> risultato della pipe<br />

===============================================<br />

cat elencofile* | sort | tee file.verifica | uniq > file.finale<br />

(Il file file.verifica contiene i file or<strong>di</strong>nati e concatenati <strong>di</strong> “elencofile”, prima che le righe<br />

doppie vengano cancellate da uniq.)<br />

Questo misterioso comando crea una named pipe, un buffer first-in-first-out temporaneo, per il<br />

trasferimento <strong>di</strong> dati tra processi. 11 Tipicamente, un processo scrive nel FIFO e un altro vi legge.<br />

Ve<strong>di</strong> Esempio A-15.<br />

Questo comando verifica la vali<strong>di</strong>tà del nome <strong>di</strong> un file. Viene visualizzato un messaggio d’errore<br />

nel caso in cui il nome del file ecceda la lunghezza massima consentita (255 caratteri), oppure<br />

quando una o più delle <strong>di</strong>rectory del suo percorso non vengono trovate.<br />

332

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

Saved successfully!

Ooh no, something went wrong!