bash stdout in Variable umleiten

Post Reply
Message
Author
brum

bash stdout in Variable umleiten

#1 Post by brum »

Hallo Leute,

ich möchte eine stdout-Nachricht in eine Varable umleiten ohne den Umweg über eine Datei.

Ich möchte das nächste fsck-Datum auswerten ...

Code: Select all

dumpe2fs /dev/XYZ | grep Next\ check\ after|tr -s " "|cut -d" " -f4,5,8
... und es erscheint bei diesem Befehl z.B. diese Ausgabe:

Code: Select all

dumpe2fs 1.38 (30-Jun-2005)
Sat Jun 2011
Die oberste Zeile ist eine Ausgabe, welche ich nicht anders herauszufiltern weiß, als die erwünschte untere Ausgabe mit stdout zu selektieren... z.B 1>file.txt.
Besser wäre aber eine Lösung ohne eine Datei anzulegen, also die 2. Zeile in eine Variable zu schreiben. Geht das?

Viele grüße
brum

brum

eine Lösung

#2 Post by brum »

Ich habe erstmal eine Lösung für das eingentliche Prblem, nehme ich tune2fs -l statt dumpe2fs, so wird keine zusätzlich meldung mit ausgegeben.

Trotzdem würde es mich interessieren, ob man stdout in eine Variable umleiten kann und mit welchen Signal die erste Zeile geschrieben wird, kenne nur stdout, stdin und stderr, aber mein Wissen ist wohl nicht aktuell :(

Gruß
brum

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

#3 Post by Janka »

Code: Select all

VAR=$(Pipeline)
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

brum

ok

#4 Post by brum »

danke :)

komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

#5 Post by komsomolze »

Noch einen drauf

Code: Select all

# date -d "$(dumpe2fs /dev/sdd6 2>&1 | egrep -i "next.check" | cut -d: -f2-)" +%s
1317710604
Das '2>&1', damit auch die Versionsausgabe des dumpe2fs von grep aussortiert werden kann,
Das 'cut' gibt das komplette Datum des geplanten Checks.
Dieses Datum wird 'date' übergeben und als UNIX-Sekunden ausgegeben.
mfg komsomolze

brum

;)

#6 Post by brum »

Danke,

alles was ich brauche in einer Zeile.

Auf welchen Kanal die Versionsausgabe kommt ist mir trotzdem nicht klar :?

Gruß
brum

Post Reply