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.

Capitolo 26. Array<br />

Come si è visto nell’esempio precedente, sia ${nome_array[@]} che ${nome_array[*]} fanno<br />

riferimento a tutti gli elementi dell’array. Allo stesso modo, per ottenere il numero degli elementi <strong>di</strong> un<br />

array si usa sia ${#nome_array[@]} che ${#nome_array[*]}. ${#nome_array} fornisce la lunghezza<br />

(numero <strong>di</strong> caratteri) <strong>di</strong> ${nome_array[0]}, il primo elemento dell’array.<br />

Esempio 26-7. Array vuoti ed elementi vuoti<br />

#!/bin/bash<br />

# empty-array.sh<br />

# Grazie a Stephane Chazelas, per l’esempio originario,<br />

#+ e a Michael Zick per averlo ampliato.<br />

# Un array vuoto non è la stessa cosa <strong>di</strong> un array composto da elementi vuoti.<br />

array0=( primo secondo terzo )<br />

array1=( ” ) # "array1" contiene un elemento vuoto.<br />

array2=( ) # Nessun elemento . . . "array2" è vuoto.<br />

echo<br />

ElencaArray ()<br />

{<br />

echo<br />

echo "Elementi in array0: ${array0[@]}"<br />

echo "Elementi in array1: ${array1[@]}"<br />

echo "Elementi in array2: ${array2[@]}"<br />

echo<br />

echo "Lunghezza del primo elemento <strong>di</strong> array0 = ${#array0}"<br />

echo "Lunghezza del primo elemento <strong>di</strong> array1 = ${#array1}"<br />

echo "Lunghezza del primo elemento <strong>di</strong> array2 = ${#array2}"<br />

echo<br />

echo "Numero <strong>di</strong> elementi <strong>di</strong> array0 = ${#array0[*]}" # 3<br />

echo "Numero <strong>di</strong> elementi <strong>di</strong> array1 = ${#array1[*]}" # 1 (Sorpresa!)<br />

echo "Numero <strong>di</strong> elementi <strong>di</strong> array2 = ${#array2[*]}" # 0<br />

}<br />

# ===================================================================<br />

ElencaArray<br />

# Proviamo ad incrementare gli array<br />

# Aggiunta <strong>di</strong> un elemento ad un array.<br />

array0=( "${array0[@]}" "nuovo1" )<br />

array1=( "${array1[@]}" "nuovo1" )<br />

array2=( "${array2[@]}" "nuovo1" )<br />

ElencaArray<br />

# oppure<br />

array0[${#array0[*]}]="nuovo2"<br />

array1[${#array1[*]}]="nuovo2"<br />

480

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

Saved successfully!

Ooh no, something went wrong!