Onkel_Hägi Geschrieben 7. September 2005 Geschrieben 7. September 2005 Hallo Leute, ich habe ein kleines Problem mit einem Shell-Script... und zwar steht folgendes drin: #!/bin/sh ./tagesmengen.php -i php tagesmengen_bild.php Wenn ich das jetzt aufrufe per "./tagesmengen.sh" kommt folgende Fehlermeldung: : bad interpreter: No such file or directory Ich habe mir andere Scripte angeschaut auf unserem Server, die sehen auch nicht anders aus als meins... das einzige was ich noch anderes drin habe, ist der Aufruf der zweiten php-Datei mit dem php davor. Wenn ich beide Befehle einzeln auf der Koncole ausführe funktioniert alles einwandfrei... Habt Ihr eine Idee woran es liegen könnte? Betriebssystem ist Suse Linux 9.2 64 Bit. Danke schonmal. Zitieren
perdian Geschrieben 7. September 2005 Geschrieben 7. September 2005 Habt Ihr eine Idee woran es liegen könnte?Hast du mal ausprobiert den PHP Interpreter mit vollem Pfad anzugeben, also sowas: /var/lib/php tagesmengen_bild.php Zitieren
Onkel_Hägi Geschrieben 7. September 2005 Autor Geschrieben 7. September 2005 Ja, kommt immer noch der gleiche Fehler... Zitieren
Monty82 Geschrieben 7. September 2005 Geschrieben 7. September 2005 Was passiert denn, wenn Du aus der Console aus "/bin/sh" aufrufst? Die Fehlermeldung lässt darauf schliessen, das die Shell, in der Du dich gerade befindet nicht's mit dem Inhalt deiner .sh-Datei anfangen kann. Vielleicht sind ja auch Steuerzeichen/Leerzeichen innerhalb der Interpreter-Beschreibung (!#...) im Wege... Zitieren
Onkel_Hägi Geschrieben 7. September 2005 Autor Geschrieben 7. September 2005 Das lustige ist ja, dass wenn ich die erste Zeile weglasse, klappt der Aufruf der dritten Zeile, aber die zweite (das php -i) klappt nicht, weil der Parameter wohl nicht (oder falsch) übergeben wird... Wenn ich das eingebe, dann wechselt der "Prompt" von "Servername:Pfad" zu "sh-3.00#". Zitieren
alligator Geschrieben 7. September 2005 Geschrieben 7. September 2005 Hallo Leute, ich habe ein kleines Problem mit einem Shell-Script... und zwar steht folgendes drin: #!/bin/sh ./tagesmengen.php -i php tagesmengen_bild.php Wenn ich das jetzt aufrufe per "./tagesmengen.sh" kommt folgende Fehlermeldung: : bad interpreter: No such file or directory Ich habe mir andere Scripte angeschaut auf unserem Server, die sehen auch nicht anders aus als meins... das einzige was ich noch anderes drin habe, ist der Aufruf der zweiten php-Datei mit dem php davor. Wenn ich beide Befehle einzeln auf der Koncole ausführe funktioniert alles einwandfrei... Habt Ihr eine Idee woran es liegen könnte? Betriebssystem ist Suse Linux 9.2 64 Bit. Danke schonmal. Hallo, wie wäre mit #!/bin/sh php ./tagesmengen.php -i php tagesmengen_bild.php oder ist ./tagesmengen.php ein Shellscript ? cya alligator (der echt nicht versteht wieso man die m.E. websprache php unter unix/linux einsetzen sollte ?!?) Zitieren
Onkel_Hägi Geschrieben 7. September 2005 Autor Geschrieben 7. September 2005 Hallo, wie wäre mit #!/bin/sh php ./tagesmengen.php -i php tagesmengen_bild.php oder ist ./tagesmengen.php ein Shellscript ? cya alligator (der echt nicht versteht wieso man die m.E. websprache php unter unix/linux einsetzen sollte ?!?) Wie gesagt, wenn ich die Zeile ./tagesmengen.php -i so auf der Console eingebe, klappts ja und des Ding wird ausgeführt... Und die anderen Scripte sehen auch so aus und da gehts... Ach ja, ich brauche PHP um was in die Datenbank zu schreiben, bzw um auch Funktionen aus php die ich dafür brauche aufzurufen. Der Zweite Aufruf erzeugt ein Bild mit den Daten des ersten, das auf einem unserer Intranetsysteme angezeigt wird... Zitieren
perdian Geschrieben 7. September 2005 Geschrieben 7. September 2005 Und die anderen Scripte sehen auch so aus und da gehts...Ich wage zu bezweifeln, dass sie wirklich genauso aussehen - irgendetwas muss anders sein. Solch ein Fehler tritt nicht selektiv mal hier und mal da auf, dort dann aber wieder nicht. Also überprüfe nochmal genau wo die Unterschiede liegen, versuche mal ein funktionierendes Script langsam in Richtung des Inhaltes des Problemscripts zu ändern. Ab irgendeinem Punkt wird es dann nicht mehr funktionieren - und genau dann haste eine perfekte Eingrenzung woran es liegt. So schwer ist das nicht. http://www.catb.org/~esr/faqs/smart-questions.html#prune Zitieren
Onkel_Hägi Geschrieben 7. September 2005 Autor Geschrieben 7. September 2005 Wie gesagt (denke ich doch), der einzige Unterschied zu den anderen Skripten ist, dass ich hier eben noch den Aufruf "php tagesmengen_bild.php" drin habe, in den anderen Skripten gibts nur Aufrufe in der Art wie "./xy.php -i" Zitieren
perdian Geschrieben 7. September 2005 Geschrieben 7. September 2005 Nochmal zum Mitschreiben: der einzige Unterschied zu den anderen Skripten ist, dass ich hier eben noch den Aufruf "php tagesmengen_bild.php" drin habeversuche mal ein funktionierendes Script langsam in Richtung des Inhaltes des Problemscripts zu ändern. Ab irgendeinem Punkt wird es dann nicht mehr funktionieren - und genau dann haste eine perfekte Eingrenzung woran es liegt. Zitieren
carstenj Geschrieben 7. September 2005 Geschrieben 7. September 2005 Hallo, wahrscheinlich hast du die Datei mit Windows erstellt? Dann gibts nämlich Probleme mit den Zeilenumbrüchen. Siehe hier: http://www.linuxforen.de/forums/archive/index.php/t-71880.html Zitieren
alligator Geschrieben 7. September 2005 Geschrieben 7. September 2005 Hallo, ist die Shebang-Zeile in ./tagesmengen.php korrekt? Bzw. was passiert den nun, wenn php ./tagesmengen.php -i in dein Script schreibst? cya alligator Zitieren
Onkel_Hägi Geschrieben 7. September 2005 Autor Geschrieben 7. September 2005 Hallo, wahrscheinlich hast du die Datei mit Windows erstellt? Dann gibts nämlich Probleme mit den Zeilenumbrüchen. Siehe hier: http://www.linuxforen.de/forums/archive/index.php/t-71880.html Ich glaub des wars, bisher siehts gut aus... Bzw erstellt hatte ich sie schon unter Linux, aber bearbeitet per Samba unter Windows... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.