Programmausgabe lässt sich nicht in Datei umleiten

06/10/2009 - 10:47 von Alexander Griesser | Report spam
Guten Morgen,

also sowas hab ich noch nicht gesehen...
Hab hier ein Programm, dessen Ausgabe wir gerne in eine Datei umleiten
lassen würden:

vilxzlt01:/opt/vispro/bin# ./d_lkh.dynamic -debug
LKH: 192.168.0.1,2001 : Connect serial line
LKH: 192.168.0.1,2002 : Connect serial line
LKH: Connect queue pv data
(/_SETUP/SOFTWARE/SCRIPTS/SNDQUEUES/Alarmserver/Message)
LKH: Connect queue pv error (/Alarmserver/SendError)
LKH: Connect queue pv send
(/_SETUP/SOFTWARE/SCRIPTS/SNDQUEUES/Alarmserver/Send)
^C
vilxzlt01:/opt/vispro/bin#

Also wenn man das Programm mit dem "-debug" Parameter startet, dann wird
obiger Text an die Konsole ausgegeben.

Jetzt geht Klein-Alex davon aus, dass man den Output einfach wie folgt
in eine Datei umleiten kann:

# ./d_lkh.dynamic -debug > /tmp/logfile

Dem ist abert nicht so. /tmp/logfile ist dann nàmlich leer, aber
es erscheint auch nichts mehr auf der Konsole...
Beweis:

vilxzlt01:/opt/vispro/bin# ./d_lkh.dynamic -debug > /tmp/logfile

vilxzlt01:/opt/vispro/bin# cat /tmp/logfile
vilxzlt01:/opt/vispro/bin#

Und ja, /tmp/logfile _IST_ writable und `ls > /tmp/logfile` funktioniert
einwandfrei.

Was ich auch noch versucht habe (auch ohne Erfolg):

./d_lkh.dynamic -debug 2>&1 >/tmp/logfile
./d_lkh.dynamic -debug | tee /tmp/logfile
(./d_lkh.dynamic -debug ) > /tmp/logfile
OUTPUT=$(./d_lkh.dynamic -debug)
echo $OUTPUT

Ideen?

ciao,
Alex
 

Lesen sie die antworten

#1 Bernd Petrovitsch
06/10/2009 - 11:16 | Warnen spam
Hi!

Alexander Griesser wrote:
[...]
also sowas hab ich noch nicht gesehen...
Hab hier ein Programm, dessen Ausgabe wir gerne in eine Datei umleiten
lassen würden:

vilxzlt01:/opt/vispro/bin# ./d_lkh.dynamic -debug
LKH: 192.168.0.1,2001 : Connect serial line
LKH: 192.168.0.1,2002 : Connect serial line
LKH: Connect queue pv data
(/_SETUP/SOFTWARE/SCRIPTS/SNDQUEUES/Alarmserver/Message)
LKH: Connect queue pv error (/Alarmserver/SendError)
LKH: Connect queue pv send
(/_SETUP/SOFTWARE/SCRIPTS/SNDQUEUES/Alarmserver/Send)
^C
vilxzlt01:/opt/vispro/bin#

Also wenn man das Programm mit dem "-debug" Parameter startet, dann wird
obiger Text an die Konsole ausgegeben.

Jetzt geht Klein-Alex davon aus, dass man den Output einfach wie folgt
in eine Datei umleiten kann:

# ./d_lkh.dynamic -debug > /tmp/logfile

Dem ist abert nicht so. /tmp/logfile ist dann nàmlich leer, aber
es erscheint auch nichts mehr auf der Konsole...
Beweis:

vilxzlt01:/opt/vispro/bin# ./d_lkh.dynamic -debug > /tmp/logfile

vilxzlt01:/opt/vispro/bin# cat /tmp/logfile
vilxzlt01:/opt/vispro/bin#

Und ja, /tmp/logfile _IST_ writable und `ls > /tmp/logfile` funktioniert
einwandfrei.


Die Shell sollte Fehgler melden, wenn das nicht geht.

Was ich auch noch versucht habe (auch ohne Erfolg):

./d_lkh.dynamic -debug 2>&1 >/tmp/logfile
./d_lkh.dynamic -debug | tee /tmp/logfile
(./d_lkh.dynamic -debug ) > /tmp/logfile
OUTPUT=$(./d_lkh.dynamic -debug)
echo $OUTPUT

Ideen?


'Sicher:
./d_lkh.dynamic -debug >&/tmp/logfile
./d_lkh.dynamic -debug >/tmp/logfile 2>&1
./d_lkh.dynamic -debug 2>&1 >/tmp/logfile | tee /tmp/logfile-err

Bernd
"Designed for Windows" ist das Äquivalent zu Entwicklungsprinzipien
der russischen Armee: es muß so gut sein, daß es ein Bauerntrampel
nur schwer mutwillig kaputt kriegt. - Arnim Sommer

Ähnliche fragen