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.

declare -a array1=( zero1 uno1 due1 )<br />

# Inizializzazione dettagliata ([1] non viene definito).<br />

declare -a array2=( [0]=zero2 [2]=due2 [3]=tre2 )<br />

Capitolo 26. Array<br />

echo<br />

echo "- Conferma che l’array è stato inizializzato per singolo elemento. -"<br />

echo "Numero <strong>di</strong> elementi: 4" # Co<strong>di</strong>ficato a scopo illustrativo.<br />

for (( i = 0 ; i < 4 ; i++ ))<br />

do<br />

echo "Elemento [$i]: ${array2[$i]}"<br />

done<br />

# Ve<strong>di</strong> anche il co<strong>di</strong>ce d’esempio più generale in basics-reviewed.bash.<br />

declare -a dest<br />

# Combina (accodando) i due array in un terzo.<br />

echo<br />

echo ’Con<strong>di</strong>zioni: Senza quoting, IFS preimpostato, operatore Array-intero’<br />

echo ’- Elementi non definiti assenti, in<strong>di</strong>ci non mantenuti. -’<br />

# Gli elementi non definiti non esistono; non vengono inseriti.<br />

dest=( ${array1[@]} ${array2[@]} )<br />

# dest=${array1[@]}${array2[@]} # Risultati strani, probabilmente un bug.<br />

# Ora visualizziamo il risultato.<br />

echo<br />

echo "- - Verifica dell’accodamento dell’array - -"<br />

cnt=${#dest[@]}<br />

echo "Numero <strong>di</strong> elementi: $cnt"<br />

for (( i = 0 ; i < cnt ; i++ ))<br />

do<br />

echo "Elemento [$i]: ${dest[$i]}"<br />

done<br />

# (Doppio) Assegnamento <strong>di</strong> un intero array ad un elemento <strong>di</strong> un altro array.<br />

dest[0]=${array1[@]}<br />

dest[1]=${array2[@]}<br />

# Visualizzazione del risultato.<br />

echo<br />

echo "- - Verifica dell’array mo<strong>di</strong>ficato - -"<br />

cnt=${#dest[@]}<br />

echo "Numero <strong>di</strong> elementi: $cnt"<br />

for (( i = 0 ; i < cnt ; i++ ))<br />

do<br />

echo "Elemento [$i]: ${dest[$i]}"<br />

done<br />

# Esame del secondo elemento mo<strong>di</strong>ficato.<br />

echo<br />

487

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

Saved successfully!

Ooh no, something went wrong!