Configdatei

T

tiptel170

Tripel-As
Hallo Leute,

mal eine einfach frage:

Ich möchte mir eine config-datei anlegen in der steht z.B. drin:

Code:
BENUTZER = ms
VORWAHL = 9999
....

Wie kann ich es machen, dass ich in einem bash-script diese obigen werte aus der config-datei ausgelesen werden und in das bash-script eingesetzt wird?

Gruss tiptel170
 
Hi,

wenn die config Datei in einer fuer die Shell interpretierbaren Form vorliegt, einfach mit source, ansonsten wirst du um's parsen nicht herum kommen.

mfg,
bytepool
 
Hi,

wenn du die Leerzeichen wegnimmst, ist es einfacher.
Datei script.conf
Code:
BENUTZER=ms
VORWAHL=9999

Skript:
Code:
BENUTZER=$(grep -i BENUTZER ./script.conf | cut -d "=" -f 2)
VORWAHL=$(grep -i VORWAHL ./script.conf | cut -d "=" -f 2)
 
So geht es noch einfacher....

Datei: script.conf
Code:
BENUTZER=ms
VORWAHL=9999


Script: script.sh
Code:
. script.conf
echo $BENUTZER
echo $VORWAHL
 
Hallo,

Wie schaffe ich das mit den kommentaren?

Code:
# Hier den Benutzer eintragen
BENUTZER=ms
# Hie die vorwahl eintragen
VORWAHL=9999

Gruss tiptel170
 
Wie schaffe ich das mit den kommentaren?

Code:
# Hier den Benutzer eintragen
BENUTZER=ms
# Hie die vorwahl eintragen
VORWAHL=9999
Aus Deiner Frage erkennt man nicht genau, was Du für ein Problem mit den Komentaren hast....

Mit welchem Befehl liest Du den nun die Config-Datei aus?

Die Komentare stören normalerweise überhaupt nicht.

- wenn Du die Configdatei nach meinem Vorschlag aus Tread-Nr. 4 liest, werden die Komentarzeilen einfach übergangen....
- Wenn Du Deine Parameter mit grep filterst, musst Du den grep-Befehl ggf. etwas modifizieren, damit Du nicht aus versehen eine Komentarzeile erwischt....
Denkbar wäre....
Code:
BENUTZER=$(grep -i "BENUTZER=" ./script.conf | cut -d "=" -f 2)
oder
BENUTZER=$(grep -i BENUTZER ./script.conf | grep -v "^#" | cut -d "=" -f 2)

Aber wie bereits gesagt.
Mein Vorschlag ist sicherlich der einfachste und zugleich auch die sicherste Variante.
Einfach die Config-Datei mit einem Punkt davor aufrufen und somit die Variablen importieren.....
 
@ HBtux,

gut danke das mit dem grep -v "^#" , das war die lösung!

Denn das script wurde nicht mit den kommentaren abgearbeitet.
So funktioniert es.

Nochmals danke für deine hilfe.

Gruss tiptel170
 

Ähnliche Themen

Hilfe für ein shell script

Skript soll nicht doppelt laufen... kill pkill pid cron

sed - Bitte um Unterstützung

Samba 3.6.25 - OpenLDAP Setup

Nginx als Reverse Proxy für Nextcloud und Emby

Zurück
Oben