variablenname aus variable auslesen (bash)

15/01/2008 - 15:07 von Marcus Ebert | Report spam
Hallo,

folgendes Beispiel:
#folgende variablen werden dynamisch angelegt,
#d.h. die Zahl hinter tmpvar kann jedesmal anders sein
#$FILE1 enthàlt eine Auflistung von files
tmpvar1=$(cat $FILE1)
echo \$tmpvar1 >> /tmp/templist
tmpvar4=$(cat $FILE2)
echo \$tmpvar4 >> /tmp/tmplist

for file1 in $(cat $filelist); do
for tmplist in $(cat /tmp/tmplist); do
echo $tmplist
for file2 in $(echo $tmpdisklist); do
...


Und hier ist jetzt mein Problem: echo $tmplist gibt den
richtigen variablennamen aus. In dieser variablen stehen
jetzt verschiedene files, die nacheinander file2 zugeordnet
werden sollen - aber offensichtlich ist die letzte for-Anweisung
falsch. Wie müßte diese aussehen, damit das funktioniert?


Marcus
 

Lesen sie die antworten

#1 Hauke Laging
15/01/2008 - 19:24 | Warnen spam
Marcus Ebert wrote:

#d.h. die Zahl hinter tmpvar kann jedesmal anders sein
#$FILE1 enthàlt eine Auflistung von files
tmpvar1=$(cat $FILE1)
echo \$tmpvar1 >> /tmp/templist
tmpvar4=$(cat $FILE2)
echo \$tmpvar4 >> /tmp/tmplist

for file1 in $(cat $filelist); do



Das hier tut wohl nix zur Sache.


for tmplist in $(cat /tmp/tmplist); do



Und das ist besser als ein
while read tmplist; do ... done < /tmp/tmplist
?


echo $tmplist



Hier müsste jetzt z.B. '$tmpvar1' ausgegeben werden.


for file2 in $(echo $tmpdisklist); do

Und hier ist jetzt mein Problem:



Also wenigstens für mich wird aus der folgenden Erlàuterung NICHT klar, was
das Problem sein soll.


echo $tmplist gibt den
richtigen variablennamen aus. In dieser variablen stehen
jetzt verschiedene files, die nacheinander file2 zugeordnet
werden sollen - aber offensichtlich ist die letzte for-Anweisung
falsch. Wie müßte diese aussehen, damit das funktioniert?



Du gibst eine Variable aus, die Du vorher nicht belegt hast (jedenfalls ist
davon nichts zu sehen) und erwartest Hilfe? Du schreibst weder die
gewünschte Ausgabe hin noch die beobachtete... mannomann.


Hauke

Ähnliche fragen