<Précédent | Table des matières | Suivant>
Suppression d'un tableau
Pour supprimer un tableau, utilisez le unset commander:
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ écho ${foo[@]}
a B c d e F
[moi@linuxbox ~]$ foo désarmé
[moi@linuxbox ~]$ écho ${foo[@]}
[moi@linuxbox ~]$
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ écho ${foo[@]}
a B c d e F
[moi@linuxbox ~]$ foo désarmé
[moi@linuxbox ~]$ écho ${foo[@]}
[moi@linuxbox ~]$
unset peut également être utilisé pour supprimer des éléments de tableau uniques :
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ écho ${foo[@]}
a B c d e F
[moi@linuxbox ~]$ non défini 'foo[2]' [moi@linuxbox ~]$ écho ${foo[@]} abdef
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ écho ${foo[@]}
a B c d e F
[moi@linuxbox ~]$ non défini 'foo[2]' [moi@linuxbox ~]$ écho ${foo[@]} abdef
Dans cet exemple, nous supprimons le troisième élément du tableau, l'indice 2. N'oubliez pas que les tableaux commencent par l'indice zéro, pas un ! Notez également que l'élément du tableau doit être entre guillemets pour empêcher le shell d'effectuer l'expansion du nom de chemin.
Fait intéressant, l'affectation d'une valeur vide à un tableau ne vide pas son contenu :
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ truc= [moi@linuxbox ~]$ écho ${foo[@]} bcdef
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ truc= [moi@linuxbox ~]$ écho ${foo[@]} bcdef
Toute référence à une variable de tableau sans indice fait référence à l'élément zéro du tableau :
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ écho ${foo[@]}
abcdef [moi@linuxbox ~]$ truc=A
[moi@linuxbox ~]$ écho ${foo[@]}
A B c d e F
[moi@linuxbox ~]$ foo=(abcdef)
[moi@linuxbox ~]$ écho ${foo[@]}
abcdef [moi@linuxbox ~]$ truc=A
[moi@linuxbox ~]$ écho ${foo[@]}
A B c d e F