Shellscript über Browser ausführen

shadow000

Mitglied
Mitglied seit
25 Apr 2005
Beiträge
653
Punkte für Reaktionen
0
Punkte
16
Hi!

Unter http://fritz.box/cgi-bin/system_status ist ein Shellscript, das über das Webinterface ausgeführt werden kann.
Ich würde nun gerne mein eigenes Script ausführen.
Das Problem dabei ist nur, dass nichts ausgeführt wird.
Per Kommandozeile funktioniert das Script einwandfrei!

Code:
#! /bin/sh

killall syslogd
sleep 2
/sbin/syslogd -R 192.168.178.2
echo "finished"

Wie bekomm ich das hin?
 
Code:
#!/bin/sh
[b]# Leerzeile in erster Zeile entfernt[/b]
killall syslogd
sleep 2
/sbin/syslogd -R 192.168.178.2
[b]echo "Content-Type: text/html\n\n"[/b]
echo "finished"

HTH
 
shadow000 schrieb:
Das Problem dabei ist nur, dass nichts ausgeführt wird.
Wo hast du das Skript denn hingelegt (und hoffentlich ausführbar gemacht), und über welche URL rufst du es auf?

Zum Skript an sich: Ich würde den HTTP-Header nach oben ziehen für den Fall, dass killall oder syslogd schon Ausgaben machen (mit einer Umleitung von stderr bekommt man dann noch die eventuellen Fehlermeldungen mit).

Beim Vorschlag von maceis fehlt beim "echo" ein "-e" und ein "\n" ist überflüssig (aber einfacher bekommt man die Leerzeile mit einem zusätzlichen echo). (Nebenbei: Die Leerzeile ist ziemlich egal; und "finished" ist kein gültiges HTML, sollte also nicht als solches ausgeliefert werden.)

Code:
#! /bin/sh
exec 2>&1
echo "Content-Type: text/plain"
echo
killall syslogd
sleep 2
/sbin/syslogd -R 192.168.178.2
echo "finished"

Andreas
 
Kostenlos!

Statistik des Forums

Themen
248,889
Beiträge
2,304,142
Mitglieder
378,572
Neuestes Mitglied
idadana