<Precedenti | Contenuti | Succ.>
Eliminazione di un array
Per eliminare un array, utilizzare il non settato comando:
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ eco ${foo[@]}
abcdef
[io@linuxbox~]$ non impostare foo
[io@linuxbox~]$ eco ${foo[@]}
[io@linuxbox~]$
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ eco ${foo[@]}
abcdef
[io@linuxbox~]$ non impostare foo
[io@linuxbox~]$ eco ${foo[@]}
[io@linuxbox~]$
unset può anche essere utilizzato per eliminare singoli elementi dell'array:
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ eco ${foo[@]}
abcdef
[io@linuxbox~]$ annulla 'foo[2]' [io@linuxbox~]$ eco ${foo[@]} abdef
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ eco ${foo[@]}
abcdef
[io@linuxbox~]$ annulla 'foo[2]' [io@linuxbox~]$ eco ${foo[@]} abdef
In questo esempio, eliminiamo il terzo elemento dell'array, indice 2. Ricordate, gli array iniziano con indice zero, non uno! Notate anche che l'elemento dell'array deve essere racchiuso tra virgolette per impedire alla shell di eseguire l'espansione del percorso.
È interessante notare che l'assegnazione di un valore vuoto a un array non ne svuota il contenuto:
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ pippo= [io@linuxbox~]$ eco ${foo[@]} bcdef
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ pippo= [io@linuxbox~]$ eco ${foo[@]} bcdef
Ogni riferimento a una variabile array senza indice si riferisce all'elemento zero dell'array:
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ eco ${foo[@]}
abcdef [io@linuxbox ~]$ foo=A
[io@linuxbox~]$ eco ${foo[@]}
Un bcdef
[io@linuxbox~]$ foo=(abcdef)
[io@linuxbox~]$ eco ${foo[@]}
abcdef [io@linuxbox ~]$ foo=A
[io@linuxbox~]$ eco ${foo[@]}
Un bcdef