Include von Variablen im Shell-Skript

M

marlen

Grünschnabel
Wie binde ich die Variablen aus einer config-Datei in ein anderes Skript ein und kann damit z.B. eine MySQL-Connection herstellen.

config.sh
Code:
DB_USER=admin
DB_PASS=xxxx
...

prog1.sh
Code:
#!/bin/bash
. /(Pfad)/config.sh
echo $DB_USER
mysql --user=$DB_USER --password=$DB_PASS

Der Befehl "echo $DB_USER" liefert in prog1.sh das richtige Ergebnis. Die Einbindung scheint also erfolgreich gewesen zu sein.
Bei der Verbindungsherstellung kommt jedoch immer folgendes:

@localhost' (Using password: YES)r: 'admin

Was läuft hier nicht richtig?
 
Nicht direkt zu deinem Problem, aber warum legst du die Daten nicht einfach in die .my.cnf von dem entsprechenden Benutzer?
Also
Code:
[client]
host     = localhost
user     = admin
password = 1234passwort
...

So kann nämlich sonst jeder per "ps" sehen, was du für ein Passwort hast.
 
Das Sicherheitsrisiko ist gering, da es mein eigener Server ist und kein anderer Benutzer Zugang zum System hat.

In der config.sh stehen weiterhin Werte wie Pfad-Angaben und allgemeine Einstellungen, für die es keine *.cnf Dateien gibt. Diese Werte gibt zwar das Programm welches die config.sh included per echo korrekt aus, die Verwendung wie beschrieben funktioniert leider nicht.
 
export ist die Lösung

schreibe in Deine Configscript einfach
export DB_USER=admin
export DB_PASS=xxxx

Dann sollte das funktionieren.
 

Ähnliche Themen

Zugriff auf Samba Fileserver Freigaben verweigert(Samba 4 Active Directory Domäne)

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Windows clients können nicht mehr auf lange laufendes System zugreifen

Falsche Rechte gesetzt beim Anlegen von Ordnern via Samba-Client

Zurück
Oben