Weniger Unterbrechungen beim Rendern von Programmen

386
Svalorzen

Ich habe dieses Problem schon lange auf mehreren Computern gehabt, aber ich konnte es nirgends irgendwo erwähnen, also dachte ich, ich sollte es fragen, um zu verstehen, ob es nur für mich ein für alle Mal ist.

Das lessProgramm, das zum Anzeigen und Paginieren von langem Text verwendet wird, unterbricht beim Rendern häufig das Terminal-Rendering. Dies geschieht auch in Programmen, die ähnliche Aktionen ausführen, z. B. git diff(nicht sicher, ob sie intern verwendet werden lessoder nicht).

Einige Teile des Textes verschwinden beim Scrollen oder werden durch etwas anderes überschrieben.

Was kann ich dagegen tun?

0
Jegliches Schreiben von `stderr` von Programmen, die im Terminal ausgeführt werden, führt zu einer Beschädigung der 'less'-Anzeige. In der Regel wird dies durch ein Abwärts- und ein Abwärtsbild korrigiert. Dies tritt meistens beim Piping auf "less" auf, um die Ausgabe eines Programms zu scrollen, das Fehlermeldungen sowie eine normale Ausgabe erzeugt. Wenn dies der Fall ist, können Sie `stderr` und` stdout` mit `2> & 1 |` (oder `| &` in `bash`); oder Sie können `stderr` in eine Datei umleiten (oder` 2> / dev / null`, wenn Sie sie vollständig unterdrücken möchten). Wenn 'stderr' miteinander vermischt wird, bedeutet Pufferung, dass sie sich in der Mitte der Zeile unterbrechen können. AFH vor 6 Jahren 1
Das hätte möglich sein können, aber die bestimmte Instanz, die mich zum Schreiben veranlasst hat, war ein einfaches "make | & less", also bin ich nicht sicher, ob dies zutrifft. Svalorzen vor 6 Jahren 0
In "make" erhalten Sie nicht nur Fehlermeldungen von "make" selbst, sondern auch von einer beliebigen Anzahl von Programmen, die gemäß den Regeln in "Makefile" geplant werden können. Mit `| &` werden Standardausgabe- und -fehlermeldungen zufällig gemischt, aber [diese Antwort] (https://unix.stackexchange.com/a/25378) zeigt Ihnen, wie Sie die Zeilenpufferung für einen Befehl aktivieren, der erfolgen soll Die gemischte Ausgabe ist deutlich lesbarer. AFH vor 6 Jahren 0

0 Antworten auf die Frage