Mit tee nur stderr in Datei pipen?

moonlook

Meteorist
Hi,

mich interessiert grad, wie ich mit tee nur(!) Fehlerausgaben in eine Datei pipen kann. Also beispielsweise antwortet burncd (FreeBSD), wenn keine CD eingelegt ist oder das CD-Rom offen ist, beim Brennversuch mit:

burncd: ioctl(CDRIOCBLANK): Device busy

Dies wuerde ich gern in eine Datei schreiben.
Hat da jemand Ahnung, wie dies zu loesen waere? Die Manpage und google bringt auch nichts besonders hilfreiches...:(
 
Du kannst den stderr einzeln umleiten, z.B. so:
Code:
burncd 2>error.log
Damit landen aber alle Ausgaben auf stderr in der Datei error.log und Du siehst nix mehr auf der Console. Eine zweite Möglichkeit ist, sowohl stdout als auch stderr in tee zu pipen:
Code:
burncd 2>&1 | tee error.log
aber hinter der pipe sind dann stderr und stdout nicht mehr unterscheidbar...
 
nicht so ganz...

so in der Art waren auch die Meinungen, die ich bei google fand, aber:

burncd -e -f /dev/acd0 -s 4 blank 2>&1 | tee error.log
Mehrdeutige Ausgabeumlenkung.

istalles, was ich erhalte.
Die von Dir als zweite angebotene Methode ist schon praeferiert, aber wie ist dies nun zu bewerkstelligen?
 
Das was Google und ich geschrieben habe gilt für Bourne-Shell und Verwandte (ksh, bash, zsh). Vermutlich benutzt Du die (t)csh, die eine andere Syntax für die Umleitungen benutzt.
 
Vorschlag 1: Schau in die man page von csh

Vorschlag 2: Benutze eine Bourne/Posix kompatible Shell. Meine Empfehlung: zsh
 
Zurück
Oben