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

echo<br />

return 1<br />

;;<br />

2) # Maybe okay.<br />

echo ${_nf_str}<br />

return 0<br />

# Needs a lookup table?<br />

if [ ${#_nf_tmp[1]} -eq 2 ]<br />

then # Country coded TLD.<br />

echo<br />

return 1<br />

else<br />

echo ${_nf_str}<br />

return 0<br />

fi<br />

;;<br />

esac<br />

echo ${_nf_str}<br />

return 0<br />

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

# Grope and mung original input(s).<br />

split_input() {<br />

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

local -i _si_cnt<br />

local -i _si_len<br />

local _si_str<br />

unique_lines uc_name uc_name<br />

_si_cnt=${#uc_name[@]}<br />

for (( _si = 0 ; _si < _si_cnt ; _si++ ))<br />

do<br />

_si_str=${uc_name[$_si]}<br />

if is_address ${_si_str}<br />

then<br />

uc_address[${#uc_address[@]}]=${_si_str}<br />

unset uc_name[$_si]<br />

else<br />

if ! uc_name[$_si]=$(name_fixup ${_si_str})<br />

then<br />

unset ucname[$_si]<br />

fi<br />

fi<br />

done<br />

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

_si_cnt=${#uc_name[@]}<br />

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

_si_cnt=${#uc_address[@]}<br />

_trace_log[${#_trace_log[@]}]=’# # # Input ’${_si_cnt}’ unchecked address input(s). # #<br />

return 0<br />

}<br />

# # # Discovery functions -- recursively interlocked by external data # # #<br />

# # # The lea<strong>di</strong>ng ’if list is empty; return 0’ in each is required. # # #<br />

689

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

Saved successfully!

Ooh no, something went wrong!