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.

}<br />

Appen<strong>di</strong>ce A. Script aggiuntivi<br />

# Reverse lookup :: Address -> Name<br />

# short_rev <br />

short_rev() {<br />

local -a _sr_reply<br />

local -i _sr_rc<br />

local -i _sr_cnt<br />

IFS=${NO_WSP}<br />

echo -n ’.’<br />

# echo ’srev: ’${1}<br />

_sr_reply=( $(<strong>di</strong>g +short -x ${1} 2>/dev/null) )<br />

_sr_rc=$?<br />

if [ ${_sr_rc} -ne 0 ]<br />

then<br />

_trace_log[${#_trace_log[@]}]=’# # # Lookup error ’${_sr_rc}’ on ’${1}’ # # #’<br />

# [ ${_sr_rc} -ne 9 ] && pend_drop<br />

return ${_sr_rc}<br />

else<br />

# Some versions of ’<strong>di</strong>g’ return warnings on stdout.<br />

_sr_cnt=${#_sr_reply[@]}<br />

for (( _sr = 0 ; _sr < ${_sr_cnt} ; _sr++ ))<br />

do<br />

[ ’x’${_sr_reply[${_sr}]:0:2} == ’x;;’ ] &&<br />

unset _sr_reply[${_sr}]<br />

done<br />

eval $2=\( \$\{_sr_reply\[@\]\} \)<br />

fi<br />

return 0<br />

}<br />

# Special format lookup used to query blacklist servers.<br />

# short_text <br />

short_text() {<br />

local -a _st_reply<br />

local -i _st_rc<br />

local -i _st_cnt<br />

IFS=${NO_WSP}<br />

# echo ’stxt: ’${1}<br />

_st_reply=( $(<strong>di</strong>g +short ${1} -c in -t txt 2>/dev/null) )<br />

_st_rc=$?<br />

if [ ${_st_rc} -ne 0 ]<br />

then<br />

_trace_log[${#_trace_log[@]}]=’# # # Text lookup error ’${_st_rc}’ on ’${1}’ # # #’<br />

# [ ${_st_rc} -ne 9 ] && pend_drop<br />

return ${_st_rc}<br />

else<br />

# Some versions of ’<strong>di</strong>g’ return warnings on stdout.<br />

_st_cnt=${#_st_reply[@]}<br />

for (( _st = 0 ; _st < ${#_st_cnt} ; _st++ ))<br />

do<br />

[ ’x’${_st_reply[${_st}]:0:2} == ’x;;’ ] &&<br />

unset _st_reply[${_st}]<br />

686

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

Saved successfully!

Ooh no, something went wrong!