Oops, sorry, that converts all of a to a scalar b so ${b[0]} gives "x y z" and ${b[1]} gives nothing.
On Thu, Jul 29, 2010 at 7:16 PM, Dennis Williamson <dennistwilliam...@gmail.com> wrote: > To make your example work try: > > $ b=a[*] > > or > > $ b...@] > > Otherwise, your indirection is telling b to look at a as a scalar. > This would give the same result: > > $ echo $a > x > > On Thu, Jul 29, 2010 at 3:55 PM, Bernd Eggink <mono...@sudrala.de> wrote: >> It seems that indirect expansion doesn't work with arrays: >> >> $ a=(x y z) >> $ b=a >> $ echo "${!b[0]} ${!b[1]} ${!b[2]}" >> x >> >> Is that intended? The documentation isn't explicit about it. >> >> IMHO it would be very desirable to have a indirect expansion facility for >> arrays. Otherwise there is only a choice between passing all elements to a >> function, which is time-consuming, or using eval, which is cumbersome and >> error-prone. >> >> Regards, >> Bernd >> >> -- >> Bernd Eggink >> http://sudrala.de >> >> >