Kraft eines shell-Skripts fflush

Ich Frage mich, ob es möglich war zu sagen, bash, dass alle Aufrufe echo oder printf Folgen sollten durch einen nachfolgenden Aufruf fflush() auf stdout/stderr jeweils?

Einen quick-and-dirty-Lösung wäre zu schreiben, dass meine eigenen printf-Implementierung, die Tat dies, und verwenden Sie es anstelle von entweder eingebaut, aber es fiel mir ein, dass ich vielleicht nicht brauchen, um.

Schreibe ich mehrere build-Skripte, die laufen, auf einmal, für das debugging muss ich wirklich müssen, finden Sie Nachrichten, die Sie schreiben, um.

  • Nicht dass ich wüsste, denke ich, dass BASH ist völlig line-basiert, so dass Sie bündig auf einer Zeile für Zeile-basis, aber nicht mehr. Ist es erforderlich, die nicht bündig auf Zeilenumbrüche?
  • Ja, ich habe zu eliminieren timing-bugs, wie ein Täter, also ich brauche zu machen sicher, dass jedes schreiben auf stderr / stdout bewirkt, dass der stream geleert werden.
  • Greifen nach Strohhalmen: ich Frage mich, ob etwas mit stty helfen würde. Oder mit der expect Skript namens unbuffer. Oder die Einstellung Bash ist PS4 zu gehören $(date "+%s.%N") (obwohl es ein bisschen overhead) und mit set -x und Sortierung der Ausgabe. Vielleicht etwas mit `trap 'foo' DEBUG. Nicht dieser nützliche Informationen? Oder so etwas here?
  • Ich Schätze der stab. Das problem ist, ich bin das sammeln der dump aus mehreren hintergrund-Prozesse an einem Ort sind und brauchen, um sicher zu sein, dass ich sehe, Probleme mit der Anordnung vs Verzögerungen durch Pufferung.
  • Außerdem, ich schaue, um zu sehen, wenn stty etwas angeboten wird, könnte helfen (oder vielleicht etwas enthüllen würde), kein Glück.
  • Hast du eine Lösung für dieses? Ich muss sehen, dass ein logfile als sein erzeugt durch einen hintergrund-Prozess.
  • Ja, siehe die Antwort akzeptiert.
  • Für Dateien: stackoverflow.com/questions/1429951/...

InformationsquelleAutor Tim Post | 2011-02-26
Schreibe einen Kommentar