expandieren von Shell-Variablen

24/11/2007 - 18:13 von Jakobus Schuerz | Report spam
Wie stelle ich es am besten an, damit ich folgendes erledigt bekomme.
Meine Konfigurationsdatei schaut so aus:

Section OST=1,2,3,4,...
Section SUED=2,5,6,7,8,...
...
...
...


Was gleich bleibt ist der Eintrag "Section " und das Format der
nachfolgenden Section "XXX*=[0-9]*,[0-9]*,..."


Dann erzeuge ich mir aus einer Auswertung eine Liste:
LISTE=1,2,3,8,...

Also die Listen ergeben sich aus einer Auswertung, und die Sections
können sich àndern, möchte ich daher per Konfig-Skript vorgeben können.

Und im Endeffekt möchte ich prüfen, welche Eintràge aus welcher Sektion
in der Liste vorkommen, um am Ende den Namen einer Section als Ergebnis
zu bekommen.



Sinn der Sache ist es, aus der Konfig-datei in einem bestimmten Punkt im
Skript nur die Zeilen '^Section' auszulesen, und danach mit export eval
die Zuweisung zu den Variablen stattfinden zu lassen.
eval export $(awk '/^Section[[:space:]]/ {$1=""; print $0}' "$CONFDIR/
$1.conf"|sed 's/^[[:space:]]*//'|sed 's/^ *//g')

Erledigt das für mich.

In einem weiteren Schritt möchte ich die zuvor eingelesenen Variablen mit
einer for-Schleife aufrufen.

SECLIST=`awk -F "=" '/^Section[[:space:]]/ {print $1}' "$CONFDIR/
wien.tram.conf"|sed 's/^Section[[:space:]]*//'`


aber for i in `echo $SECLIST`;do echo "$i";done

liefert sinnigerweise die Namen der Variablen, aber nicht deren Inhalt.

wie muss der Befehl aussehen, damit ich sinngemàß weiterarbeiten kann:

for i in `echo $SECLIST`;do `gib mit den Inhalt der Variable, die in $i
gespeichert ist`|while read j;do echo j;done ;done

hoffe das war jetzt nicht zu umstàndlich erklàrt.

lg jakob
 

Lesen sie die antworten

#1 Kai-Martin Knaak
25/11/2007 - 05:10 | Warnen spam
On Sat, 24 Nov 2007 18:13:12 +0100, Jakobus Schuerz wrote:

wie muss der Befehl aussehen, damit ich sinngemàß weiterarbeiten kann:

for i in `echo $SECLIST`;do `gib mit den Inhalt der Variable, die in $i
gespeichert ist`|while read j;do echo j;done ;done



de.comp.os.unix.shell ist die passende Gruppe für solche Fragen. Bei
ausreichend Englischkenntnissen auch comp.unix.shell

<(kaimartin)>
Kai-Martin Knaak
http://lilalaser.de/blog

Ähnliche fragen