Rudi-Shell keine stderr Ausgabe

tkarusseit

Neuer User
Mitglied seit
18 Aug 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hi,
ich verwende Freetz-1.2 und bekomme in der Rudi-Shell keine Ausgaben von stderr.
Erst wenn ich die Shell-Kommandos mit 2>&1 verwende, erscheinen sie.
Was mache ich da falsch ?
 
Nix falsch, das ist so "gewollt". Die Shell ist halt "Rudi(mentär)".
 
Trotzdem finde ich die Idee nicht ganz abwegig stderr immer mit auszugeben. Was spricht denn dagegen?

Wäre das nicht durch eine Änderung wie
Code:
--- make/mod/files/root/usr/mww/cgi-bin/shell/cmd.cgi	(Revision 10044)
+++ make/mod/files/root/usr/mww/cgi-bin/shell/cmd.cgi	(Arbeitskopie)
@@ -11,5 +11,5 @@
 	echo "$FORM_script" | sed "s/"$'\r'"//g" | sh
 else
 	echo -n 'Content-Type: text/html'$'\r\n\r\n'
-	echo "$FORM_script" | sed "s/"$'\r'"//g" | sh | sed -e 's/&/\&amp;/g ; s/</\&lt;/g ; s/>/\&gt;/g' | head -c 64000
+	echo "$FORM_script" | sed "s/"$'\r'"//g" | sh 2>&1 | sed -e 's/&/\&amp;/g ; s/</\&lt;/g ; s/>/\&gt;/g' | head -c 64000
 fi %>
schon gelöst?

Gruß
Oliver
 
Danke Oliver, das versuch ich mal.
Wie könnte ich den die stderr Ausgabe extra behandeln, um sie rot zu machen ?
 
Ja, mit der Änderung allein sollte es gehen. Und ihr habt mich sofort von der Sinnhaftigkeit überzeugt ;-)
 
Das wird vermutlich um einiges schwieriger, da du die Ausgaben trennen müsstest. Und die Rückgabe dann entsprechend aufbereiten musst...

Gruß
Oliver
 
Wie könnte ich den die stderr Ausgabe extra behandeln, um sie rot zu machen ?
Du solltest damit anfangen, stdout und stderr eben nicht zusammen zu führen.

Wenn man schon an der Stelle etwas ändert, kann man die Zeile auch gleich so ändern:
Code:
echo "$FORM_script" | tr -d '\r' | sh 2>&1 | head -c 64000 | sed -e 's/&/\&amp;/g ; s/</\&lt;/g ; s/>/\&gt;/g'
Damit wird zum einen der erste sed Aufruf durch tr ersetzt, zum anderen wird erst die Ausgabe mit head begrenzt und dann erst mit sed konvertiert. Es bringt ja wenig, eine lange Ausgabe erst durch sed zu schicken und dann das Ende zu verwerfen.
Die andere Frage ist, ob es überhaupt notwendig ist, die Länge der Ausgabe zu begrenzen.
 
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.