[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Konfigurationsdatei mit confget einlesen, Datei enthält aber Variablen




Am 25.07.2014 um 18:48 schrieb Peter Funk:
Hallo Thilo,

Hallo Peter,

vielen Dank für Deine Antwort.

Thilo Engelbracht schrieb am Freitag, den 25.07.2014 um 18:20:
Hallo liebe Liste,

ich habe eine Konfigurationsdatei ("datei.ini") mit folgendem Inhalt
(nur ein Beispiel):
...
aus einem bash-script aufgerufen wird. In dem bash-script ist
bereits eine Variable "BASISVERZEICHNIS" mit dem Wert "/root/data"
definiert. Aus diesem Grund wäre optimal (aus Gründen der
Übersichtlichkeit), wenn ich meine Konfigurationsdatei folgenden
Aufbau hätte:

      [thilo]
           .....
           foo=/home/samba/thilo
           bar=$BASISVERZEICHNIS/thilo
...
      # BAR=$(confget -f datei.ini -s thilo bar)

Probier mal
     BAR=`eval echo $(confget -f datei.ini -s thilo bar)`
aus.

Das war's. Prima.

eval ist ein eingebauter Befehl der bash.

OK. Gut zu wisen. Kannte ich noch nicht.

Davon abgesehen noch ein gut gemeinter Rat ;-) eines alten
Knackers, der sich schon seit über 30 Jahren mit Shell-Skripten
herum geschlagen hat:

Wenn Deine Aufgabe so komplex wird, dass solche
Konfigurations-Dateien notwendig sind, dann ist das ein
Zeichen dafür, dass eine vollwertige objekt orientierte
Programmiersprache wie Python für diese Aufgabe viel besser
geeignet ist.

Ja, da hast Du natürlich recht. In der Tat wollte ich mich mal mit Python beschäftigen, habe es aus Zeitgründen aber nicht geschafft. Sollte auf meine TODO-Liste kommen... :-)

Aber vielen Dank für den Tipp!

In Python kann man die Klasse ConfigParser benutzen.
     http://docs.python.org/2/library/configparser.html

Viele Grüße, Peter Funk

Grüße

Thilo


Reply to: