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

_cp_spc[${#_cp_spc[@]}]="${_cp_max:2:$1}" #"<br />

shift<br />

done<br />

_cp_cnt=${#_cp_inp[@]}<br />

for (( _cp = 0 ; _cp < _cp_cnt ; _cp++ ))<br />

do<br />

_cp_pos=1<br />

IFS=${NO_WSP}$’\x20’<br />

_cp_line=( ${_cp_inp[${_cp}]} )<br />

IFS=${NO_WSP}<br />

for (( _cpf = 0 ; _cpf < ${#_cp_line[@]} ; _cpf++ ))<br />

do<br />

_cp_tab=${_cp_spc[${_cpf}]:${_cp_pos}}<br />

if [ ${#_cp_tab} -lt ${_cp_mcnt} ]<br />

then<br />

_cp_tab="${_cp_min}"<br />

fi<br />

echo -n "${_cp_tab}"<br />

(( _cp_pos = ${_cp_pos} + ${#_cp_tab} ))<br />

_cp_fld="${_cp_line[${_cpf}]}"<br />

echo -n ${_cp_fld}<br />

(( _cp_pos = ${_cp_pos} + ${#_cp_fld} ))<br />

done<br />

echo<br />

done<br />

set +f<br />

return 0<br />

# # # # ’Hunt the Spammer’ data flow # # # #<br />

# Application return code<br />

declare -i _hs_RC<br />

# Original input, from which IP addresses are removed<br />

# After which, domain names to check<br />

declare -a uc_name<br />

# Original input IP addresses are moved here<br />

# After which, IP addresses to check<br />

declare -a uc_address<br />

# Names against which address expansion run<br />

# Ready for name detail lookup<br />

declare -a chk_name<br />

# Addresses against which name expansion run<br />

# Ready for address detail lookup<br />

declare -a chk_address<br />

# Recursion is depth-first-by-name.<br />

# The expand_input_address maintains this list<br />

#+ to prohibit looking up addresses twice during<br />

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

680

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

Saved successfully!

Ooh no, something went wrong!