Re: [#!/fr] Indirect expansion (was: Re: Bug declare array b…

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Patrick Proniewski
Date:  
À: La liste francophone des scripts shell
Sujet: Re: [#!/fr] Indirect expansion (was: Re: Bug declare array bash???)
On 2 juil. 07, at 20:02, Daniel Varlet wrote:

>> car en fait, ${!a[@]} n'est pas considéré une référence indirecte :
>
> Ça fait deux fois que tu écris ça.
> ${!a[@]} ne peut en aucun cas être considéré comme référence
> indirecte.
> Pas plus que {!a}.
> Ce sont des "façons" de récupérer des "trucs"... La nomenclature
> exacte est indirect variable expansion pour la dernière. Et la
> première, un truc comme keys expansion.


oui, c'est un gros abus de langage paresseux de ma part, je l'avoue :)))

> C'est du bricolage emberlificotant de l'auteur de bash. Ça lui
> permettra sans doute dans 10'000 ans d'implémenter un autre type
> d'array sans trop casser ses définitions existantes.


c'est fort possible. En même temps, bash c'est pas vraiment fait pour
ça, on le sent bien à l'usage.


> Ceci semble donc être la définition du binz (non testé évidemment):
>
> $ unset a; a=("a0" "a1" "a2 a3"); for z in "${!a[@]}"; do echo "${a
> [z]}"; done
> a0
> a1
> a2 a3


ça valide sur bash 3.truc ;)

patpro

_______________________________________________
archives :
http://listes.patpro.net/list/sshfr.fr.html
http://listes.patpro.net/mailman/listinfo/script_shell_fr