Wie sorge ich dafür, dass die Bash-Reverse-Suche in Terminal.app funktioniert, ohne dass eine verstümmelte Ausgabe angezeigt wird?

StackOverflow https://stackoverflow.com/questions/35563

  •  09-06-2019
  •  | 
  •  

Frage

Wenn Sie Terminal.app unter OSGibt es eine Art Termcap oder vielleicht einen Bash-Shopt-Befehl, der das beheben kann?Es ist sehr nervig.

Schritte zum Reproduzieren:Öffnen Sie Terminal.app und suchen Sie in umgekehrter Reihenfolge nach einem längeren Befehl.Drücken Sie <Strg>-E, sobald Sie den Befehl gefunden haben.Der Cursor bewegt sich zum Ende der Zeile, aber die Anzeige wird nicht aktualisiert.

Ich vermute, dass dies ein Problem mit der Readline-Bibliothek unter OS X ist.Es ist eher ein Problem, die Cursorposition nach einer Suche zu aktualisieren als alles andere.Grundsätzlich neigen Strg-A und Strg-E dazu, die Suchausgabe zu unterbrechen.

OS-X-Terminalfehlerbild http://involution.com/images/osxterminal.png

Oben sollte der erste Teil des Befehls angezeigt werden und der Cursor sollte sich am Ende der Zeile befinden, was aber nicht der Fall ist.In diesem Fall können Sie buchstäblich nicht sehen, was Sie bearbeiten.

War es hilfreich?

Lösung

Ich konnte meinen TERM auf xterm statt auf xterm-color setzen und das Problem wurde dadurch gelöst.(TERM=xterm exportieren).

Andere Tipps

Vielleicht möchten Sie sich diesen Beitrag ansehen.

Bash-Prompt-im-OS-X-Terminal-defekt

Ich hatte das gleiche Problem und es hatte mit der PS1-Variablen zu tun.Lassen Sie mich wissen, ob das hilft.

Wenn die Eingabeaufforderung Farben enthält, handelt es sich um einen bestätigten Fehler.
Sehen Fehlerbericht Nachricht#00019.

Ich bin auf diesen Fehler gestoßen, und obwohl ich nicht weiß, wie ich ihn beheben kann, können Sie ihn umgehen, indem Sie auf drücken <down><up>

Ich bin mir nicht sicher, ob dies hier das Problem ist, aber eine sehr häufige Ursache für einen fehlerhaften Bildschirm in der Bash (bei jedem Terminalemulator, nicht nur bei Terminal.app) ist die Größenänderung des Fensters.

Bash liest beim Start die Fenstergröße und geht dann davon aus, dass sie sich nicht geändert hat.Wenn die Fenstergröße geändert wird, wird ein Signal an die App gesendet, die gerade von der Konsole liest.Wenn es sich nicht um Bash handelt (vielleicht weil Sie gerade einen Texteditor verwenden), weiß Bash nichts davon.

In diesem Fall besteht die Lösung darin, die Größe des Fensters erneut zu ändern, damit Bash das Signal erhält und die neue Größe erkennt.

Ich kann das nicht reproduzieren, es trifft auch nicht Strg+E, Strg+A oder die Pfeiltasten aktualisieren die Befehlszeile korrekt.Führen Sie 10.5.4 aus?Handelt es sich vielleicht um einen Fehler in früheren Versionen?

Im schlimmsten Fall könnten Sie den X-Server starten (irgendwo unter den Dienstprogrammen) und ein echtes xterm starten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top