Das hier brachte mich weiter:
http://www.linuxquestions.org/questions/programming-9/bash-copy-array-using-name-from-variable-718116/
#!/bin/bash
variablen=("var1" "var2")
var1=("hu" "ho")
var2=("hi" "ha")
m="${variablen[1]}"
echo $m # ouput : var2
n="${m}[@]";
echo ${!n} # output : hi ha
declare -a o=("${!n}");
echo ${o[@]} # output : hi ha
echo ${o[0]} # output : hi
echo ${o[1]} # output : ha
Mit freundlichen Grüßen / Kind regards
Ronny Seffner
--
Ronny Seffner | Alter Viehweg 1 | 01665 Klipphausen
www.seffner.de | [email protected] | +49 35245 72950
> -----Ursprüngliche Nachricht-----
> Von: [email protected] [mailto:lug-dd-
> [email protected]] Im Auftrag von Heiko Schlittermann
> Gesendet: Donnerstag, 25. Oktober 2012 14:27
> An: [email protected]
> Betreff: Re: bash und variablenamen aus array lesen
>
> Ronny Seffner <[email protected]> (Do 25 Okt 2012 13:50:27 CEST):
> > Hallo Gruppe,
> >
> > ich habe in einer Datei z.b. Folgendes:
> >
> > klasse=("eins" "zwei")
> > eins=("klaus" "gerd")
> > zwei=("emil" "inge")
> >
> > Diese Datei binden ich mittels source in ein bas-Skript ein und möchte
> gern
> > den zweiten Schüler der ersten Klasse wissen:
> >
> > ${${!${klasse[0]}}[1]} geht nicht aber:
>
> Bin mir nicht sicher, ob das was wird, die Bash ist mit Substitutionen
> in Substitutionen nicht ganz so gut. Und übersichtlich ist es dann auch
> nicht.
>
> Ich würde da eine andere Scriptsprache nehmen.
>
> > ${klasse[0]} liefert doch "eins"
> >
> > ${!text} referenziert auf eine Variable "text"
>
> Nein, auf eine Variable, deren Name in der Variablen "text" steht.
>
>
> --
> Heiko
_______________________________________________
Lug-dd maillist - [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd