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 />

if [ ${_dl_cnt} -gt 0 ]<br />

then<br />

_dl_cnt=${_dl_cnt}-1<br />

echo ’# # # Operations stack not empty # # #’ >> ${_log_file}<br />

for (( _dl = ${_dl_cnt} ; _dl >= 0 ; _dl-- ))<br />

do<br />

echo ${_pen<strong>di</strong>ng_[${_dl}]} >> ${_log_file}<br />

done<br />

fi<br />

# # # Utility program ’<strong>di</strong>g’ wrappers # # #<br />

#<br />

# These wrappers are derived from the<br />

#+ examples shown in <strong>di</strong>g_wrappers.bash.<br />

#<br />

# The major <strong>di</strong>fference is these return<br />

#+ their results as a list in an array.<br />

#<br />

# See <strong>di</strong>g_wrappers.bash for details and<br />

#+ use that script to develop any changes.<br />

#<br />

# # #<br />

# Short form answer: ’<strong>di</strong>g’ parses answer.<br />

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

# short_fwd <br />

short_fwd() {<br />

local -a _sf_reply<br />

local -i _sf_rc<br />

local -i _sf_cnt<br />

IFS=${NO_WSP}<br />

echo -n ’.’<br />

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

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

_sf_rc=$?<br />

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

then<br />

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

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

return ${_sf_rc}<br />

else<br />

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

_sf_cnt=${#_sf_reply[@]}<br />

for (( _sf = 0 ; _sf < ${_sf_cnt} ; _sf++ ))<br />

do<br />

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

unset _sf_reply[${_sf}]<br />

done<br />

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

fi<br />

return 0<br />

685

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

Saved successfully!

Ooh no, something went wrong!