Archiv verlassen und diese Seite im Standarddesign anzeigen : Shellscript: Mittels Fehlerkanal 2> Anwendung starten oder Variable setzen
Hi,
ich bin gerade dabei ein wenig über Shellscripte zu lernen. Nun hänge ich an einer Stelle. Mittels BEFEHL 2> fehlermeldung.txt kann ich den Ausgang in eine Datei weiterleiten. Ist es möglich diesen Fehlerkanal einer anderen Anwendung übergeben, oder noch besser eine Variable im Script setzen... Naja, beides wäre ganz nett.
Vielleicht sagst Du uns etwas genauer, was Du machen willst. Wenn Du zB. nur feststellen willst, ob Dein Programm irgendeinen Fehler produziert hat, kannst Du den Errorlevel abfragen.
programmname ; echo $?
Gruss Pit.
Wenn ich das richtig verstehe, versuch's mal so:
#!/bin/sh
VAR=$(befehl 2>&1)
if [ $? -ne 0 ]; then
echo 'Returncode ist nicht 0 -> Fehler:'
echo $VAR
fi
Allerdings hast du so auch die Standardausgabe in $VAR mit drin. gesetzt dem Fall "befehl" hat eine Standardausgabe. Das geht bestimmt auch irgendwie, dass man STDOUT verwirft, und nur STDERR abfängt. Fällt mir aber gerade nichts zu ein. :-)
Gruss
Das geht bestimmt auch irgendwie, dass man STDOUT verwirft, und nur STDERR abfängt. Fällt mir aber gerade nichts zu ein. :-)Ganz allgemein: befehl > /dev/null 2>filename
Ganz allgemein: befehl > /dev/null 2>filename
Das ist klar, nur war ja die Problemstellung STDERR in einer Variable zu speichern.
Das ist klar, nur war ja die Problemstellung STDERR in einer Variable zu speichern.
Dann halt:
befehl >/dev/null 2>/tmp/filename
VAR=$(cat /tmp/filename)
eine andere Möglichkeit sehe ich nicht, nur den STDERR zu kriegen. Es gibt zwar das naheliegende
2|
aber das leitet nicht den stderr in eine Pipe um sondern dient dazu, den in eine Datei zu schreiben und im Gegensatz zu 2> den "Clobber-Flag" nicht zu beachten.
MfG Peschmä
Jau.
Sollte man evtl. noch sagen, dass man - insofern man es überhaupt möchte - $? noch vor dem einlesen der temporären Datei auswerten muss, da sonst der Returncode von cat in $? ist.
Gruss
das hab ich jetzt mal vorausgesetzt ;)
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.