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.

echo<br />

exit 0<br />

Capitolo 10. Cicli ed alternative<br />

In un È possibile impiegare la sostituzione <strong>di</strong> comando per generare [lista]. Ve<strong>di</strong> anche<br />

Esempio 12-49, Esempio 10-10 ed Esempio 12-43.<br />

Esempio 10-6. Generare [lista] in un ciclo for con la sostituzione <strong>di</strong> comando<br />

#!/bin/bash<br />

# for-loopcmd.sh: un ciclo for con [lista]<br />

#+ prodotta dalla sostituzione <strong>di</strong> comando.<br />

NUMERI="9 7 3 8 37.53"<br />

for numero in ‘echo $NUMERI‘ # for numero in 9 7 3 8 37.53<br />

do<br />

echo -n "$numero "<br />

done<br />

echo<br />

exit 0<br />

Ecco un esempio un po’ più complesso dell’utilizzo della sostituzione <strong>di</strong> comando per creare [lista].<br />

Esempio 10-7. Un’alternativa con grep per i file binari<br />

#!/bin/bash<br />

# bin-grep.sh: Localizza le stringhe in un file binario.<br />

# Un’alternativa con "grep" per file binari.<br />

# Effetto simile a "grep -a"<br />

E_ERR_ARG=65<br />

E_NOFILE=66<br />

if [ $# -ne 2 ]<br />

then<br />

echo "Utilizzo: ‘basename $0‘ stringa_<strong>di</strong>_ricerca nomefile"<br />

exit $E_ERR_ARG<br />

fi<br />

if [ ! -f "$2" ]<br />

then<br />

echo "Il file \"$2\" non esiste."<br />

exit $E_NOFILE<br />

fi<br />

IFS="\n" # Su suggerimento <strong>di</strong> Paulo Marcel Coelho Aragao.<br />

163

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

Saved successfully!

Ooh no, something went wrong!