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.

# Quin<strong>di</strong>, cosa possiamo <strong>di</strong>re a questo proposito?<br />

# Le operazioni stringa vengono eseguite su ognuno<br />

#+ degli elementi presenti in var[@] in sequenza.<br />

# Quin<strong>di</strong> : <strong>Bash</strong> supporta le operazioni su vettore stringa.<br />

#+ Se il risultato è una stringa <strong>di</strong> lunghezza zero,<br />

#+ quell’elemento scompare dall’assegnamento risultante.<br />

# Domanda: queste stringhe vanno usate con il quoting forte o debole?<br />

zap=’nuovo*’<br />

array9=( ${array0[@]/$zap/} )<br />

echo<br />

echo "Elementi dell’array9: ${array9[@]}"<br />

# Proprio quando pensavate <strong>di</strong> essere a cavallo . . .<br />

array10=( ${array0[@]#$zap} )<br />

echo<br />

echo "Elementi dell’array10: ${array10[@]}"<br />

# Confrontate array7 con array10.<br />

# Confrontate array8 con array9.<br />

# Risposta: con il quoting debole.<br />

exit 0<br />

Capitolo 26. Array<br />

La relazione tra ${nome_array[@]} e ${nome_array[*]} è analoga a quella tra $@ e $*. Questa potente<br />

notazione degli array ha molteplici impieghi.<br />

# Copiare un array.<br />

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

# oppure<br />

array2="${array1[@]}"<br />

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

array=( "${array[@]}" "nuovo elemento" )<br />

# oppure<br />

array[${#array[*]}]="nuovo elemento"<br />

# Grazie, S.C.<br />

Suggerimento: L’operazione <strong>di</strong> inizializzazione array=( elemento1 elemento2 ... elementoN), con<br />

l’aiuto della sostituzione <strong>di</strong> comando, permette <strong>di</strong> inserire in un array il contenuto <strong>di</strong> un file <strong>di</strong> testo.<br />

#!/bin/bash<br />

482

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

Saved successfully!

Ooh no, something went wrong!