011
02.09.2005, 13:23 Uhr
virtual
Sexiest Bit alive (Operator)
|
Zitat von Disi: |
Virtual:
Soweit ich die Frage gelesen habe suchte er nach einer möglichkeit den stderror in den stdout umzuleiten oder?
|
Nochmal:
Geht man mal vom trivialen Fall aus, daß initial stderr und stdout auf /dev/tty gemappt sind, was bei allen Programmen zutrifft, welche ich in einer Shell eingebe, dann wird durch "2>&1" auf /dev/tty "umgeleitet" (da war es aber bereits eh schon) und anschliessend leitet "1>bla" lediglich stdout erneut um. Geht man also von diesem trivialen Fall aus, so ist obige von Dir beschriebene Zeile nix anderes als
Geht man von dem spezielleren Fall aus, daß das Programm von einem anderen Programm gesteuert wird und stdout ursprünglich nach out, stderr nach err umgeleitet wurden, so wird durch
erreicht, daß out nunmehr die Fehlermeldungen enthält, err leer bleibt und bla die Standardausgabe enthält.
Wie man es dreht und wendet: wenn man zuerst stdout/stderr zusammenlegt und anschliessend stdout erneut umlenkt, hat man immer zwei getrennte Ausgaben welche nicht problemlos synchronisierbar sind. Zum Beleg kannst Du ja mal mit dem zuvor von mir geposteten Shelscript die unterschiedlichen Kombinationen ausprobieren. Lediglich die Kombination
wird dich dazu bringen, daß stdout und stderr wirklich einen gemeinsamen Stream bilden. Allerdings bleibt eben nach wie vor die Aufgabe vom Fragesteller ungelöst: er will ja, daß in diesem gemeinsamen Stream erkennbar ist, woher es im original her kam. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |