<div class="gmail_quote">On Fri, Jun 19, 2009 at 8:43 AM, James Bensley <span dir="ltr"><<a href="mailto:jwbensley@gmail.com">jwbensley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hey Guys n Gals;<br>
<br>
I have some arrays that I can't seem to expand correctly (if that's<br>
the correct word?), imagine the following example:<br>
<br>
#!/bin/bash<br>
myArray=("First" "Second" "Third")<br>
<br>
First=("Monday" "Tuesdays" "Wednesday")<br>
Second=("One" "Two" "Three")<br>
Third=("A" "B" "C")<br>
<br>
for ((i=0;i<${#myArray[@]};i++))<br>
do<br>
        for ((k=0;k<${#${myArray[$i]}[@]};k++)) # < Things go bad here!<br>
        do<br>
                echo "${${myArray[$i]}[$k]}" # I understand this line<br>
is won't work but it doesn't matter right now<br>
        done<br>
done<br>
<br>
So ultimatly we shall loop round each value in the myArray array and<br>
print out the values in each array which has the same name as the<br>
value in the myArray, array.<br>
<br>
Where I have marked with a comment, the script stops with the error-<br>
<br>
: bad substitution<br>
<br>
I have looked on-line but I don't quite understand how I can correct<br>
this? I have seen other people have this error for other problems but<br>
not one like mine so I don't fully understand it? Can anyone explain<br>
to me exactly what is going wrong and how I might correct it?<br>
</blockquote><div><br>How about this? Avoids the c=like for loop increments and just uses<br> the array elements for the next loop ...<br><br>#!/bin/bash<br>myArray=("First" "Second" "Third")<br>
<br>First=("Monday" "Tuesdays" "Wednesday")<br>Second=("One" "Two" "Three")<br>Third=("A" "B" "C")<br><br>for i in ${myArray[@]};  do<br>
    for k in ${i};  do<br>        eval TMP=\${$k[@]}<br>        echo ${TMP}<br>    done<br>done<br><br></div></div>-Bob<br>