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.

VARIABILE="test"<br />

STRINGA="VAR1=valore1 VAR2=valore2 VAR3=valore3"<br />

ARRAY21=${ARRAY1[*]}<br />

) # L’ARRAY1 viene inserito in questo secondo array.<br />

Capitolo 26. Array<br />

function visualizza () {<br />

PREC_IFS="$IFS"<br />

IFS=$’\n’ # Per visualizzare ogni elemento dell’array<br />

#+ su una riga <strong>di</strong>versa.<br />

TEST1="ARRAY2[*]"<br />

local ${!TEST1} # Provate a vedere cosa succede cancellando questa riga.<br />

# Referenziazione in<strong>di</strong>retta.<br />

# Questo rende i componenti <strong>di</strong> $TEST1<br />

#+ accessibili alla funzione.<br />

}<br />

visualizza<br />

echo<br />

exit 0<br />

# A questo punto, ve<strong>di</strong>amo cosa abbiamo fatto.<br />

echo<br />

echo "\$TEST1 = $TEST1" # Solo il nome della variabile.<br />

echo; echo<br />

echo "{\$TEST1} = ${!TEST1}" # Contenuto della variabile.<br />

# Questo è ciò che fa la<br />

#+ referenziazione in<strong>di</strong>retta.<br />

echo<br />

echo "-------------------------------------------"; echo<br />

echo<br />

# Visualizza la variabile<br />

echo "Variabile VARIABILE: $VARIABILE"<br />

# Visualizza un elemento stringa<br />

IFS="$PREC_IFS"<br />

TEST2="STRINGA[*]"<br />

local ${!TEST2} # Referenziazione in<strong>di</strong>retta (come prima).<br />

echo "Elemento stringa VAR2: $VAR2 da STRINGA"<br />

# Visualizza un elemento dell’array<br />

TEST2="ARRAY21[*]"<br />

local ${!TEST2} # Referenziazione in<strong>di</strong>retta (come prima).<br />

echo "Elemento VAR1_1 dell’array: $VAR1_1 da ARRAY21"<br />

# Come fa notare l’autore,<br />

#+ "lo script può facilmente essere espanso per ottenere gli hash<br />

#+ anche nella shell bash."<br />

# Esercizio per i lettori (<strong>di</strong>fficile): implementate questa funzionalità.<br />

492

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

Saved successfully!

Ooh no, something went wrong!