Ich lagere bei einem Startscript ein Teil der Variablen in einer Extra Datei aus und will die in die eigentliche Startdatei includen. Ich hab dafür den Befehl source genommen. Das klappt soweit, ich kann die Variablen per Echo in der Startdatei anzeigen lassen, jedoch nicht damit arbeiten. Hier ein Beispiel:
Variablendatei:
PFAD=/test/test/
IP=255.255.255.255
...
Startdatei:
source Variablendatei
echo $PFAD <<-- das geht
cd $PFAD <<-- das nicht (andere Befehle mit der Variable gehen auch nicht)
Danke für Eure Tips !
Datei mit shell/bash unter Linux includen
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
Re: Datei mit shell/bash unter Linux includen
Stichwort : export
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
- Project Manager
- Posts: 11182
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Datei mit shell/bash unter Linux includen
/home/user/test/var.inc
/home/user/test/doit.sh
Code: Select all
#!/bin/sh
export foo=Hello
export bar=World
Code: Select all
#!/bin/sh
. /home/user/test/var.inc
echo "${foo} ${bar}"
-
- Posts: 64
- Joined: 2003-02-25 15:47
Re: Datei mit shell/bash unter Linux includen
Danke für die Antworten. Ich hab nochmal ein simples Beispiel erstellt und das durchprobiert. Ich benutze das ohne geschweifte Klammern und habe den selbe Efekt. Ich hab aber rausgefunden, das in meinen Datei-Datei die "#####" und Zeilenumbrüche scheinbar Problem verursacht haben. Nachdem ich die rausgenommen habe, gabs keine Probleme mehr.
-
- Posts: 64
- Joined: 2003-02-25 15:47
Re: Datei mit shell/bash unter Linux includen
Mir ist beim testen noch etwas aufgefallen: Wenn ich die Scripte in der konsole als root oder webuser starte gibts kein Problem. Die Datein werden richtig eingebunden (. /config/config.int). Wenn ich das ganze über das Web aufrufe führt er das mit einer relativen Pfadangabe nicht aus und meldet jedesmal, das er die Datei nicht findet. Ã?bers Web läuft es nur, wenn ich die Pfadangabe komplett mache (z.B: /wurzel/web/config/config.int). Gibt es dabei noch etwas zu beachten oder eine andere Schreibweise mit der ich die Pfadangabe bei Webnutzung realtiv machen kann ?