Konsole Fehlermeldung speichern/verarbeiten

Post Reply
Message
Author
ups

Konsole Fehlermeldung speichern/verarbeiten

#1 Post by ups »

Hallo Leute,

habe ein Problemchen, das stderr nicht in eine Variable will oder sich verarbeiten lässt:
Also es sollen die nicht formatierten Partition erfasst werden.
Die Idee:

Code: Select all

fdisk -l |grep /dev/xyz[b-z] |grep doesn.t.contain.a.valid.partition.table
Es kommt hier die erwartete Meldung auf dem Bildschirm.

Aber iich kann diese nur in eine Datei speichern, nicht aber mit VAR=`fdisk...` oder VAR=$((fdisk...)) in eine Varable speichern kann. Ebenso wenig funktionier das Zählen mit |wc -l, auch nicht mit 2>$1|wc -l.
Also

Code: Select all

fdisk -l |grep /dev/xyz[b-z] |grep doesn.t.contain.a.valid.partition.table 2>&1|wc -l
0  0  0
genauso bleibt die Variable leer::

Code: Select all

VAR=`fdisk -l |grep /dev/xyz[b-z] |grep doesn.t.contain.a.valid.partition.table`
Ich kann diese nur mit Aufruf von

Code: Select all

fdisk -l 2>fehler-temp.txt
in eine Datei speichern.
Aber nicht mit

Code: Select all

fdisk -l |grep /dev/xyz[b-z] |grep doesn.t.contain.a.valid.partition.table 2>geht-nicht.txt

Gute Ideen? Danke ...
ups

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Öhm, du leitest da das stderr des letzten *grep* zu stdout um, nicht stderr von fdisk.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

ups

ja

#3 Post by ups »

.. aber trotzdem geht keine der Zeilen in ene Variable zu speichern, lediglich die Vorletzte in eine Datei....

ups

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

Dann nochmal in einfach: Du möchtest das stderr von fdisk haben, und darin dann greppen. Das macht man so:

Code: Select all

fdisk -l 2>&1|grep /dev/xyz[b-z] |grep doesn.t.contain.a.valid.partition.table
Wenn du 2>&1 dem grep zu fressen gibst, wird stderr von *grep* nach stdout umgeleitet. Grep produziert auf stderr aber nur dann einen Fehler, wenn du falsche Optionen angibst oder eine Eingabedatei nicht existiert.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

ups

cool

#5 Post by ups »

Uff, ich bin beeindruckt.
Das stderr nicht global wirkt...wieder was dazu gelernt, danke.
Nun iss's in der Variable eingesperrt ;-)

ups

Post Reply