1

Bash-Script Config-Datei einlesen?

Frage von Bizarrus Bizarrus

Hallöchen. Ich habe einen kleinen Webpanel für Debianserver programmiert. Nun möchte ich ein Shell-Script (Bash) schreiben, was diesen Installiert.

Ich habe derzeit folgendes Problem: Wie binde ich in einem Bash-Script eine Config-Datei ein? Ich suche bereits seit 2 Tagen im Internet, irgendwie funktioniert nicht - Egal, welche Beispiele ich durchkaue.

Setup:

#!/bin/bash
# SETUP-Script (Lese Config ein,..)
CONFIG="/var/www/webpanel/install/config.ini"
source $CONFIG

echo $DATABASE_HOSTNAME

Config:

DATABASE_HOSTNAME="localhost"
DATABASE_USERNAME="root"
DATABASE_PASSWORD="1234"
DATABASE_DATABASE="webpanel"

Wieso funktioniert dies nicht? Kann mir jemand helfen?

Fragen zu gleichen Themen finden

Antworten (3)

  • 0
    Hilfreichste Antwort ausgezeichnet vom Fragesteller
    Antwort von GF123 GF123

    Grundsätzlich könnte das Script so funktionieren. Wie rufst Du das Bash-Script auf und was wird dabei (auf stderr) ausgegeben?

  • 1
    Antwort von Bizarrus Bizarrus

    lag daran, dass die datei im win format und nicht im unix format abgespeichert war

    Kommentar von GF123 GF123GF123

    Oh. Danke für die Meldung.

  • 0
    Antwort von Bizarrus Bizarrus

    Die config.ini und die setup.sh (ist ausführbar) sind im verzeichniss /var/www/webpanel/install/

    Die setup.sh rufe ich auf, indem ich via Shell ins verzeichniss hin navigiere und dieses mittels ./setup.sh ausführe.

    ich habe mit Shell-Scripts noch nie wirklich gearbeitet gehabt, nur mit PHP & Java. Wie Lese ich denn stderr aus?

    Kommentar von GF123 GF123GF123

    In der Shell wird stderr üblicherweise mit ausgegeben. Alternativ kann man es auch auf stdout umleiten. (http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html ; 3.5)

    Meines Erachtens sind die naheliegensten Stolpersteine hier Dateirechte; Also, dass entweder das Shellscript (setup.sh) überhaupt nicht ausgeführt wird (Alternative: per bash ./setup.sh aufrufen) oder aber die CONFIG Datei nicht gelesen werden kann/darf. In beiden Fällen würde ich bei interaktivem Aufruf in der Shell eine Fehlermeldung erwarten.

    Weitere Fehlerquelle: Falls der Pfad zur CONFIG-Datei besondere Zeichen, etwa Leerzeichen, enthält, dann sollten Anführungszeichen verwendet werden: echo "$CONFIG"

    Wird denn das Script ausgeführt? Was wird ausgegeben - nichts?

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.