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.

enscript<br />

groff<br />

tbl<br />

eqn<br />

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

TeX è l’elaborato sistema <strong>di</strong> composizione <strong>di</strong> Donald Knuth. Spesso risulta conveniente scrivere<br />

uno script <strong>di</strong> shell contenente tutte le opzioni e gli argomenti che vanno passati ad uno <strong>di</strong> questi<br />

linguaggi.<br />

Ghostscript (gs) è l’interprete Postscript rilasciato sotto licenza GPL.<br />

Utility per la conversione in PostScript <strong>di</strong> un file in formato testo.<br />

Per esempio, enscript nomefile.txt -p nomefile.ps dà come risultato il file PostScript<br />

nomefile.ps.<br />

Un altro linguaggio <strong>di</strong> composizione e visualizzazione formattata <strong>di</strong> testo è groff. È la versione<br />

GNU, migliorata, dell’ormai venerabile pacchetto UNIX roff/troff. Le pagine <strong>di</strong> manuale<br />

utilizzano groff.<br />

L’utility per l’elaborazione delle tabelle tbl viene considerata come parte <strong>di</strong> groff perché la sua<br />

funzione è quella <strong>di</strong> trasformare le istruzioni per la composizione delle tabelle in coman<strong>di</strong> groff.<br />

Anche l’utility per l’elaborazione <strong>di</strong> equazioni eqn fa parte <strong>di</strong> groff e il suo compito è quello <strong>di</strong><br />

trasformare le istruzioni per la composizione delle equazioni in coman<strong>di</strong> groff.<br />

Esempio 12-26. manview: visualizzazione formattata <strong>di</strong> pagine <strong>di</strong> manuale<br />

#!/bin/bash<br />

# manview.sh: impagina il sorgente <strong>di</strong> una pagina <strong>di</strong> manuale<br />

#+ per la visualizzazione.<br />

# Lo script è utile nella fase <strong>di</strong> scrittura <strong>di</strong> una pagina <strong>di</strong> manuale.<br />

# Permette <strong>di</strong> controllare i risultati interme<strong>di</strong> al volo,<br />

#+ mentre ci si sta lavorando.<br />

E_ERRARG=65<br />

if [ -z "$1" ]<br />

then<br />

echo "Utilizzo: ‘basename $0‘ nomefile"<br />

exit $E_ERRARG<br />

fi<br />

# --------------------------groff<br />

-Tascii -man $1 | less<br />

272

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

Saved successfully!

Ooh no, something went wrong!