So wie ich Alex verstehe ist genau das das Problem: Es geht nicht, da eben erst alles am Ende kommt.Zitat:
Zitat von Florian
Druckbare Version
So wie ich Alex verstehe ist genau das das Problem: Es geht nicht, da eben erst alles am Ende kommt.Zitat:
Zitat von Florian
genau so ist es
So wie ich das verstehe passiert das nur mit "tee"?
Ich meine das ganze jetzt ohne "tee".
Also die drei dinger in entsprechend angepasster und ggf. parallel ablaufender Form.Code:
vzdump -optionen > file.txt
tail -f file.txt
variable=$(cat file.txt)
rm file.txt
Komisch. Wenn ich das direkt ausprobiere mit irgendeinem Befehl, dann funktioniert das alles einwandfrei. Mit tee, ohne tee, live im Terminal und auch in der Datei.
Aber ich kenne das Problem.
Mein Tipp: Teste mal ein bisschen rum. Mit tee ohne tee, im Terminal mit Dateiumlenkung...
so habe ich getestet:
Es war alles immer alles sofort da, zu sehen per cat / tail oder als Ausgabe im Terminal.Code:# Test 1 - Ausgabe im Terminal und mit tee in Datei
while :;do echo $RANDOM;sleep 1;done | tai64n |tee -a out.txt
# Test 2 - Ausgabe in Datei
while :;do echo $RANDOM;sleep 1;done | tai64n >out.txt
# Test 3 - direct im Terminal
while :;do echo $RANDOM;sleep 1;done | tai64n | tai64nlocal
# Test 4 - ohne Newline in Datei
while :;do echo -n "$RANDOM ";sleep 1;done >out.txt
tai64n und tai64nlocal sind aus dem Paket daemontools(Debian/Ubuntu). Mit ersterem fügt man einen hochpräzisen TAI64N Zeitstempel vor jede Zeile. Mit tai64nlocal wandelt man das um in eine menschenlesbare Zeitangabe. Damit sieht man, wann die Zeilen tatsächlich geschrieben werden.
Vermutlich ist das das Problem.
Gut möglich, daß vzdump da einfach anders reagiert.
Ich würde als ersten Test ja mal das quiet rausnehmen - wenn mehr Ausgaben kommen, ärgern ggf. irgendwelche Buffer, die man sonst nicht so beeinflussen kann da ggf. programmintern realisiert, nicht mehr.