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.

mimencode<br />

mmencode<br />

crypt<br />

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

do<br />

ricerca1=‘head -$righe $File | grep begin | wc -w‘<br />

ricerca2=‘tail -$righe $File | grep end | wc -w‘<br />

# Deco<strong>di</strong>fica i file che hanno un "begin" nella parte iniziale e un "end"<br />

#+ in quella finale.<br />

if [ "$ricerca1" -gt 0 ]<br />

then<br />

if [ "$ricerca2" -gt 0 ]<br />

then<br />

echo "Deco<strong>di</strong>fico con uudecode - $File -"<br />

uudecode $File<br />

fi<br />

fi<br />

done<br />

# Notate che se si invoca questo script su se stesso, l’esecuzione è ingannata<br />

#+ perché pensa <strong>di</strong> trovarsi in presenza <strong>di</strong> un file co<strong>di</strong>ficato con uuencode,<br />

#+ poiché contiene sia "begin" che "end".<br />

# Esercizio:<br />

# Mo<strong>di</strong>ficate lo script per verificare in ogni file l’intestazione <strong>di</strong> un<br />

#+ newsgroup, saltando al file successivo nel caso non venga trovata.<br />

exit 0<br />

Suggerimento: Il comando fold -s può essere utile (possibilmente in una pipe) per elaborare<br />

messaggi <strong>di</strong> testo <strong>di</strong> gran<strong>di</strong> <strong>di</strong>mensioni, deco<strong>di</strong>ficati con uudecode, scaricati dai newsgroup<br />

Usenet.<br />

I coman<strong>di</strong> mimencode e mmencode elaborano gli allegati e-mail nei formati <strong>di</strong> co<strong>di</strong>fica MIME.<br />

Sebbene i gestori <strong>di</strong> e-mail (mail user agents come pine o kmail) siano normalmente in grado <strong>di</strong><br />

gestirli automaticamente, queste particolari utility consentono <strong>di</strong> manipolare tali allegati<br />

manualmente, da riga <strong>di</strong> comando, o in modalità batch per mezzo <strong>di</strong> uno script <strong>di</strong> shell.<br />

Una volta questa era l’utility standard UNIX <strong>di</strong> cifratura <strong>di</strong> file. 6 Regolamenti governativi (USA<br />

N.d.T.), attuati per ragioni politiche, che proibiscono l’esportazione <strong>di</strong> software crittografico, hanno<br />

portato alla scomparsa <strong>di</strong> crypt da gran parte del mondo UNIX, nonché dalla maggioranza delle<br />

<strong>di</strong>stribuzioni Linux. Per fortuna i programmatori hanno prodotto molte alternative decenti, tra le<br />

quali cruft (ftp://metalab.unc.edu/pub/Linux/utils/file/cruft-0.2.tar.gz) realizzata proprio dall’autore<br />

del libro (ve<strong>di</strong> Esempio A-4).<br />

293

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

Saved successfully!

Ooh no, something went wrong!