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.

}<br />

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

# Execution engine is LIFO. Order of pend operations is important.<br />

# Did we define any new addresses?<br />

unique_lines _den_address _den_address # Scrub duplicates.<br />

e<strong>di</strong>t_exact known_address _den_address # Scrub already processed.<br />

e<strong>di</strong>t_exact un_address _den_address # Scrub already waiting.<br />

if [ ${#_den_address[@]} -gt 0 ] # Anything new?<br />

then<br />

uc_address=( ${uc_address[@]} ${_den_address[@]} )<br />

pend_func expand_input_address ${_den_lmt}<br />

_trace_log[${#_trace_log[@]}]=’# # # Added ’${#_den_address[@]}’ unchecked address(s<br />

fi<br />

# Did we find any new names?<br />

unique_lines _den_name _den_name # Scrub duplicates.<br />

e<strong>di</strong>t_exact known_name _den_name # Scrub already processed.<br />

e<strong>di</strong>t_exact uc_name _den_name # Scrub already waiting.<br />

if [ ${#_den_name[@]} -gt 0 ] # Anything new?<br />

then<br />

uc_name=( ${uc_name[@]} ${_den_name[@]} )<br />

pend_func expand_input_name ${_den_lmt}<br />

_trace_log[${#_trace_log[@]}]=’# # # Added ’${#_den_name[@]}’ unchecked name(s). # #<br />

fi<br />

return 0<br />

# The parse-it-yourself delegation reply<br />

# Input is the chk_address list.<br />

# detail_each_address <br />

detail_each_address() {<br />

[ ${#chk_address[@]} -gt 0 ] || return 0<br />

unique_lines chk_address chk_address<br />

e<strong>di</strong>t_exact known_address chk_address<br />

if [ ${#chk_address[@]} -gt 0 ]<br />

then<br />

known_address=( ${known_address[@]} ${chk_address[@]} )<br />

unset chk_address[@]<br />

fi<br />

return 0<br />

}<br />

# # # Application specific output functions # # #<br />

# Pretty print the known pairs.<br />

report_pairs() {<br />

echo<br />

echo ’Known network pairs.’<br />

col_print known_pair 2 5 30<br />

if [ ${#auth_chain[@]} -gt 0 ]<br />

then<br />

echo<br />

echo ’Known chain of authority.’<br />

col_print auth_chain 2 5 30 55<br />

698

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

Saved successfully!

Ooh no, something went wrong!