Fehlerausgabe in Datei speichern, ohne Standardausgabe umzuleiten ...

  • Hallo,


    ich möchte in einem Script in einer Variablen die Ausgabe der Fehlerausgabe setzten, jedoch ohne die Standardausgabe mit umzuleiten das folgende geht leider nicht so wie ich möchte:

    Code
    varname=`befehl 2>&1`


    Es speichert zwar die Fehlerausgabe, jedoch auch die Standardausgabe in der Variablen.


    Geht so etwas ohne tmp-Datei zu lösen?


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Hallo geronimo,


    Quote

    Original von geronimo
    Wenn ich Dich richtig verstehe, willst Du nur die Fehlermeldung?!?
    Versuchs doch mal mit 'befehl > /dev/null '


    nein, leider nicht. Die Standardausgabe soll weiterhin am Bildschirm angezeigt werden ...


    geht es besser als folgende Lösung:


    Code
    varname=`befehl >/proc/$$/fd/1 2>&1`


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

    Edited 2 times, last by HFlor ().

  • Versuch's mit:

    Code
    varname=`befehl 3>&2 2>&1 >&3`


    STDOUT (landet in der Variablen) und STDERR (wird ausgegeben) müssen getauscht werden. Das klappt AFAIK nur mit Zwischenspeicherung des aktuellen STDERR in einem neuen Filehandle (hier: 3).

  • Hallo Greywolf,


    Quote

    Original von Greywolf
    Versuch's mit:

    Code
    varname=`befehl 3>&2 2>&1 >&3`


    vielen Dank, es funktioniert wie es soll.


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!