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.

#!/bin/bash<br />

# Array "annidato".<br />

# Esempio fornito da Michael Zick,<br />

#+ con correzioni e chiarimenti <strong>di</strong> William Park.<br />

UnArray=( $(ls --inode --ignore-backups --almost-all \<br />

--<strong>di</strong>rectory --full-time --color=none --time=status \<br />

--sort=time -l ${PWD} ) ) # Coman<strong>di</strong> e opzioni.<br />

Capitolo 26. Array<br />

# Gli spazi sono significativi . . . quin<strong>di</strong> non si deve usare il quoting.<br />

SubArray=( ${UnArray[@]:11:1} ${UnArray[@]:6:5} )<br />

# Questo array è formato da sei elementi:<br />

#+ SubArray=( [0]=${UnArray[11]} [1]=${UnArray[6]} [2]=${UnArray[7]}<br />

# [3]=${UnArray[8]} [4]=${UnArray[9]} [5]=${UnArray[10]} )<br />

#<br />

# In <strong>Bash</strong> gli array sono liste collegate (circolarmente)<br />

#+ del tipo stringa (char *).<br />

# Quin<strong>di</strong>, non si tratta veramente <strong>di</strong> un array annidato,<br />

#+ è il suo comportamento che è simile.<br />

echo "Directory corrente e data dell’ultima mo<strong>di</strong>fica:"<br />

echo "${SubArray[@]}"<br />

exit 0<br />

--<br />

Gli array annidati in combinazione con la referenziazione in<strong>di</strong>retta creano affascinanti possibilità<br />

Esempio 26-12. Array annidati e referenziazioni in<strong>di</strong>rette<br />

#!/bin/bash<br />

# embedded-arrays.sh<br />

# Array annidati e referenziazione in<strong>di</strong>retta.<br />

# Script <strong>di</strong> Dennis Leeuw.<br />

# Usato con il permesso dell’autore.<br />

# Mo<strong>di</strong>ficato dall’autore <strong>di</strong> questo documento.<br />

ARRAY1=(<br />

VAR1_1=valore11<br />

VAR1_2=valore12<br />

VAR1_3=valore13<br />

)<br />

ARRAY2=(<br />

491

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

Saved successfully!

Ooh no, something went wrong!