[gelöst]FB läd Script beim starten nicht (debug.cfg)

ragi

Neuer User
Mitglied seit
16 Mai 2007
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich will eine Reihe Befehle nach dem Start der FB automatisch ausführen lassen. Das soll ja mittels debug.cfg gehen. Meine sieht folgendermaßen aus:
Code:
#! /bin/sh
cp /var/media/ftp/USB-Stick2-0ME-01/SYSTEM/libutil.so.0 /var/tmp/
export PYTHONHOME=/var/media/ftp/USB-Stick2-0ME-01/SYSTEM/PYTHON2
export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/var/media/ftp/USB-Stick2-0ME-01/SYSTEM/PYTHON2/bin
export LD_LIBRARY_PATH=/var/tmp
Wenn ich eine eigene Shellscript datei erstelle mit dem selben Inhalt, dann wird dieser auch nicht ausgeführt.
Was mache ich falsch?
 
Zuletzt bearbeitet:
Moin,
was passiert denn? Logs? Outputs?
Womit hast du die Datei erstellt? Hoffentlich nicht mit den üblichen Windows-Editoren?
Was passiert wenn du die Befehle manuell abschickst?
Was weiterhin sein könnte, ist, das der Stick zu diesem Zeitpunkt noch gar nicht zur Verfügung steht / gemounted wurde. Evtl noch ein "sleep xx" davor packen
 
passieren tut nix, da ja im "env" die Variablen nicht gesetzt sind und selbst wenn der stick nicht gemountet wurde müssten diese doch da sein.
erstellt habe ich sie indem ich jede zeile mit echo rangehängt habe.

wenn ichs manuell abschicke funktionierts :)
 
Wie schauts hier mit dem Leerzeichen aus?
Code:
#! /bin/sh
Mal weggelassen? Also ohne das Leerzeichen
 
nein das macht keinen unterschied
 
Hallo,

bist du sicher, das du die Zeilen in der debug.cfg eingefügt hast?

Wenn ja, schreib mal wie du es gemacht hast, denn die debug.cfg ist im Flash erst mal nur ein Platzhalter.
 
Wenn ich eine eigene Shellscript datei erstelle mit dem selben Inhalt, dann wird dieser auch nicht ausgeführt.
Das ganz genau heißt hier "dann wird dieser auch nicht ausgeführt"? Welche Ausgabe kommt beim Aufruf?

passieren tut nix, da ja im "env" die Variablen nicht gesetzt sind und selbst wenn der stick nicht gemountet wurde müssten diese doch da sein.
Wo sollten diese Werte gesetzt sein?
Ich vermute, hier liegt ein Mißverständnis darüber vor, wie sich einzelne Prozesse aufeinander auswirken.

Wie schauts hier mit dem Leerzeichen aus?

Das Leerzeichen da ist nicht von Bedeutung, es funktioniert mit oder ohne Leerzeichen.
Im konkreten Fall der debug.cfg kann man auch die ganze Zeile weglassen.
 
Moin,

das mit dem Kopieren mag ja gehen, aber ich denke nicht, dass in der debug.cfg gemachte "exports" dir später was bringen, die helfen m.W. nur für "Kindprozesse". Was sollen die den bewirken? Wenn du in einer späteren Sitzung diese Umgebungsvariablen haben willst, könntest du das in "/etc/profile" hinzufügen, so in dieser Art:
Code:
cp /etc/profile /var/tmp/profile
cat << 'ENDE' >> /var/tmp/profile
export PYTHONHOME=/var/media/ftp/USB-Stick2-0ME-01/SYSTEM/PYTHON2
export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/var/media/ftp/USB-Stick2-0ME-01/SYSTEM/PYTHON2/bin
export LD_LIBRARY_PATH=/var/tmp
ENDE
mount -o bind /var/tmp/profile /etc/profile

Jörg
 
Wenn ja, schreib mal wie du es gemacht hast, denn die debug.cfg ist im Flash erst mal nur ein Platzhalter.
Code:
cat /var/flash/debug.cfg > /var/tmp/debug.cfg

echo "#! /bin/sh" >> /var/tmp/debug.cfg
echo "cp /var/media/ftp/USB-Stick2-0ME-01/SYSTEM/libutil.so.0 /var/tmp/" >> /var/tmp/debug.cfg
echo "export PYTHONHOME=/var/media/ftp/USB-Stick2-0ME-01/SYSTEM/PYTHON2" >> /var/tmp/debug.cfg
echo "export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/var/media/ftp/USB-Stick2-0ME-01/SYSTEM/PYTHON2/bin" >> /var/tmp/debug.cfg
echo "export LD_LIBRARY_PATH=/var/tmp" >> /var/tmp/debug.cfg

cat /var/tmp/debug.cfg > /var/flash/debug.cfg

Das ganz genau heißt hier "dann wird dieser auch nicht ausgeführt"? Welche Ausgabe kommt beim Aufruf?

Nix passiert, es wird weder kopiert noch, werden variablen erstellt.

Ich vermute, hier liegt ein Mißverständnis darüber vor, wie sich einzelne Prozesse aufeinander auswirken.

Das war der Fall, habe nicht daran gedacht, das export nur für die "Session" ist.
Dank dem Ratschlag von MaxMuster bin ich nun weiter.

Das einzige Problem ist nun das die lib nicht kopiert wird. Denke mal das es daran liegt, dass wie colonia27 schon gesagt der Stick noch nicht gemountet ist. Ich füg mal ein sleep in die debug.cfg ein und seh mal obs hilft.
 
So nun funktionierts -> es wird alles geladen und Python läuft in jeder Session.
Vielen dank für eure Hilfe.
 
Schön, wenn es jetzt geht. Markierst du dann bitte den Thread noch als "gelöst", indem du das zum Titel hinzufügst?!?
1. Beitrag -> Ändern -> Erweitert, damit lässt sich der Titel ändern/ergänzen.

Jörg
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.