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.

No_SPZ=$’\x0A’$’\x0D’<br />

# Separatore <strong>di</strong> campo per gli in<strong>di</strong>rizzi ip puntati<br />

IND_IFS=${No_SPZ}’.’<br />

# Recupera la registrazione del testo del dns.<br />

# rec_testo <br />

rec_testo() {<br />

}<br />

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

# verifica $1 per l’assegnamento delle stringhe delimitate dai punti.<br />

local -a dns<br />

IFS=$IND_IFS<br />

dns=( $1 )<br />

IFS=$SPZ_IFS<br />

if [ "${dns[0]}" == ’127’ ]<br />

then<br />

# Controlla se vi è una spiegazione.<br />

echo $(<strong>di</strong>g +short $2 -t txt)<br />

fi<br />

# Recupera l’in<strong>di</strong>rizzo dns.<br />

# rec_idr <br />

rec_idr() {<br />

local risposta<br />

local server<br />

local causa<br />

}<br />

server=${1}${2}<br />

risposta=$( <strong>di</strong>g +short ${server} )<br />

# Se la risposta contiene un co<strong>di</strong>ce d’errore . . .<br />

if [ ${#risposta} -gt 6 ]<br />

then<br />

causa=$(rec_testo ${risposta} ${server} )<br />

causa=${causa:-${risposta}}<br />

fi<br />

echo ${causa:-’ non in blacklist.’}<br />

# Si deve risalire all’in<strong>di</strong>rizzo IP partendo dal nome <strong>di</strong> dominio.<br />

echo "Recupero l’in<strong>di</strong>rizzo <strong>di</strong>: "$1<br />

ip_idr=$(<strong>di</strong>g +short $1)<br />

risposta_dns=${ip_idr:-’ nessuna risposta ’}<br />

echo ’ In<strong>di</strong>rizzo: ’${risposta_dns}<br />

# Una risposta valida deve essere formata da almeno 4 cifre e 3 punti.<br />

if [ ${#ip_idr} -gt 6 ]<br />

then<br />

echo<br />

declare richiesta<br />

# Controllo per l’assegnamento delle stringhe tra i punti.<br />

299

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

Saved successfully!

Ooh no, something went wrong!