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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

#+ che in<strong>di</strong>ca che il collegamento è riuscito.<br />

Capitolo 29. Debugging<br />

if [ ! -z "$ricerca" ] # Sono necessari gli apici per la possibile<br />

#+ presenza <strong>di</strong> spazi.<br />

then<br />

echo "Collegato"<br />

rm -f $FILETEMP # Cancella il file temporaneo.<br />

exit $COLLEGATO<br />

else<br />

echo -n "." # L’opzione -n <strong>di</strong> echo sopprime il ritorno a capo,<br />

#+ così si ottengono righe continue <strong>di</strong> punti.<br />

fi<br />

sleep 1<br />

done<br />

# Nota: se sostituite la variabile PAROLACHIAVE con "Exit",<br />

#+ potete usare questo script per segnalare, mentre si è collegati,<br />

#+ uno scollegamento inaspettato.<br />

# Esercizio: Mo<strong>di</strong>ficate lo script per ottenere quanto suggerito nella<br />

# nota precedente, rendendolo anche più elegante.<br />

exit 0<br />

# Nick Drage ha suggerito un metodo alternativo:<br />

while true<br />

do ifconfig ppp0 | grep UP 1> /dev/null && echo "connesso" && exit 0<br />

echo -n "." # Visualizza dei punti (.....) finché si è connessi.<br />

sleep 2<br />

done<br />

# Problema: Può non bastare premere Control-C per terminare il processo.<br />

#+ (La visualizzazione dei punti potrebbe continuare.)<br />

# Esercizio: Risolvetelo.<br />

# Stephane Chazelas ha un’altra alternativa ancora:<br />

INTERVALLO=1<br />

while ! tail -1 "$FILELOG" | grep -q "$PAROLACHIAVE"<br />

do echo -n .<br />

sleep $INTERVALLO<br />

done<br />

echo "Connesso"<br />

# Esercizio: Discutete i punti <strong>di</strong> forza e i punti deboli<br />

# <strong>di</strong> ognuno <strong>di</strong> questi <strong>di</strong>fferenti approcci.<br />

521

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

Saved successfully!

Ooh no, something went wrong!