Shell Script - variable Variable

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Baldrian
Beiträge: 290
Registriert: 13.05.2004 16:22:39

Shell Script - variable Variable

Beitrag von Baldrian » 27.04.2009 10:08:13

Moin ich suche eine Möglichkeit den Namen einer Variablen variabel zu gestallten.

Also, ich erhalte zB. Werte für verschiedene Eingaben, diese sollen wiederum in eine Datei fliesen.
Ein Beispiel wie ich es gedacht hätte, was aber nicht funktioniert

Code: Alles auswählen

WERT_EINS=ja
WERT_ZWEI=nein
WERT_DREI=ja

for i in EINS ZWEI DREI ; do
   echo "$i=$WERT_$i" >> datei
done
Die Sache mit $WERT_$i ist halt das Problem Kind.
Dieser Punkt sollte halt variabel einer der $WERT-Variablen entsprechen.
Ergebnis sollte dann in der Richtung aussehen

EINS=ja
ZWEI=nein
DREI=ja

Wie könnte man das richtig lösen?
"Was auch immer geschieht, nie dürft ihr so tief sinken,
von dem Kakao, durch den man euch zieht, auch noch zu trinken."

yeti

Re: Shell Script - variable Variable

Beitrag von yeti » 27.04.2009 19:06:57

Code: Alles auswählen

(yeti@xs3:2)/home/tmp$ cat x
#/bin/bash

WERT_EINS=ja
WERT_ZWEI=nein
WERT_DREI=ja

for i in EINS ZWEI DREI ; do
        j="WERT_$i"
        echo "$j = ${!j}"
done
(yeti@xs3:2)/home/tmp$ ./x 
WERT_EINS = ja
WERT_ZWEI = nein
WERT_DREI = ja

Antworten