create array in loop with variable in array's name

2010-05-29 Thread pikta

Hi all, 
I'm just a beginer and I got stucked  I'm trying to create multiple
array with variable in array's name. I would expect to have 3 arrays and
each of them would contain 3 elements like array1=(a b c)  array2=(a b c )
array3=(a b c) ; what means that first element of array1[0]=a and for
example third element of array3[2]=c. This is the way how I do it : 

for (( n=1; n4; n++ ))
do
array$n=(a b c)
done

...but there is syntax error and I can not fix it. I know I can declare
these 3 arrays as : 
array1=(a b c)
array2=(a b c)
but this is just a simple example; in fact I want to read from several files
to array$n and I can not go through ... can I declare array's name with some
variable in it's name pls help; thanks in advance for any hint
-- 
View this message in context: 
http://old.nabble.com/create-array-in-loop-with-variable-in-array%27s-name-tp28712785p28712785.html
Sent from the Gnu - Bash mailing list archive at Nabble.com.




Re: create array in loop with variable in array's name

2010-05-29 Thread Bernd Eggink

Am 29.05.2010 01:04, schrieb pikta:


Hi all,
I'm just a beginer and I got stucked  I'm trying to create multiple
array with variable in array's name. I would expect to have 3 arrays and
each of them would contain 3 elements like array1=(a b c)  array2=(a b c )
array3=(a b c) ; what means that first element of array1[0]=a and for
example third element of array3[2]=c. This is the way how I do it :

for (( n=1; n4; n++ ))
do
array$n=(a b c)
done

...but there is syntax error


That's because array$n isn't a valid name. Use eval:

eval array$n=(a b c)

Bernd

--
Bernd Eggink
http://sudrala.de