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