Mein Benutzer keine Schreibrechte für STDERR haben:Schreibe STDERR nach Dateinamen, auch wenn nicht beschreibbar für den Benutzer
[email protected]:~> readlink -e /dev/stderr
/dev/pts/19
[email protected]:~> ls -l /dev/pts/19
crw--w---- 1 sysuser tty 136, 19 Apr 26 14:02 /dev/pts/19
Es ist in der Regel kein großes Problem,
echo > /dev/stderr
nicht mit
-bash: /dev/stderr: Permission denied
aber übliche Umleitung wie
echo >&2
funktioniert in Ordnung.
Allerdings muß ich jetzt mit einem 3rd-Party-binären fertig zu werden, die nur dann ausgegeben Anmeldung zu einer bestimmten Datei zur Verfügung stellt:
./utility --log-file=output.log
Ich mag die Log-Ausgabe direkt in STDERR sehen.
Ich kann es nicht einfach wie --log-file=/dev/stderr
aufgrund fehlender Schreibberechtigungen tun. Auf anderen Systemen, auf denen die Schreibberechtigungen gesetzt sind, funktioniert das in Ordnung.
Außerdem muss ich auch die Ausgabe des Prozesses zu STDOUT analysieren, daher kann ich nicht einfach Protokoll an STDOUT senden und dann mit >&2
an STDERR umleiten. Ich habe versucht, das script
Dienstprogramm (wo die Umleitung zu /dev/stderr
funktioniert ordnungsgemäß), aber es führt auch STDOUT und STDERR zusammen.
Was ist die stderr Shell zu so verbunden, dass es funktioniert? –
Warum ist Ihr stderr so, dass Sie nicht darauf schreiben können? Das ist ungewöhnlich - nicht unmöglich, aber ungewöhnlich. –
Ich stimme Jonathan zu, ich kann den ganzen Tag mit echo>/dev/stderr' sprechen. – SaintHax