Variablen einlesen / shell-Skript

Hallo,

wie kann ich denn über ein Shell-Skript Variablen aus einer Textdatei einlesen und deklarieren?

Inhalt der Textdatei „var.txt“:
a=1
b=2
c=3

Einlesen mit:

for WERT in $(sed ‚/#/d‘ var.txt);do
echo $WERT
? Befehl ?
done

Und anschließend sollen die Variablen a,b,c gesetzt sein.

weder
echo $(echo $WERT)
noch
exec $(echo $WERT)
noch Versuche mit „let“ helfen weiter …

Grüße
K.

Hallo Klaus,

wie kann ich denn über ein Shell-Skript Variablen aus einer
Textdatei einlesen und deklarieren?
Inhalt der Textdatei „var.txt“:
a=1
b=2
c=3
Und anschließend sollen die Variablen a,b,c gesetzt sein.

Ein erster Vorschlag von mir, der mir aber aus verschiedenen Gründen ganz und gar nicht gefällt:

#!/bin/bash
while read zeile; do
 zeile=${zeile//=/ }
 feld=($zeile)
 export ${feld[0]}=${feld[1]}
done 

Soll nur das Prinzip veranschaulichen (ohne Fehlerprüfung usw.). Bin auf andere Lösungen gespannt.

Viele Grüße
Marvin

Hallo

„eval“ ist das Zauberwort …

B=""
A=„B=5“
eval „$A“
echo $B
=> B=5

Danke Dir…

Grüße
K.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

wie kann ich denn über ein Shell-Skript Variablen aus einer
Textdatei einlesen und deklarieren?

Inhalt der Textdatei „var.txt“:
a=1
b=2
c=3

falls du dem Inhalt dieser Datei vertraust, könntest du statt der eval-Lösung auch einfach

. ./var.txt

verwenden.

Andreas