Bevor ich Lion installiert habe und ein Terminalfenster öffnete, platzierte ich den Cursor wie folgt am Ende der Eingabeaufforderung:
Wed Aug 31{shirsch4@Susan-Hirschs-iMac}/projects/perl/perl/lib/Utils--><cursor>
Wenn ich jetzt ein Terminalfenster öffne, erscheint der Cursor irgendwo in der Mitte der Eingabeaufforderung wie folgt:
Wed Aug 31{shirsch4@Susan-Hirsch<cursor>-iMac}/projects/perl/perl/lib/Utils-->
Hat jemand eine Idee, wie ich das korrigieren kann?
Vielen Dank!
Wie hier angefordert ist meine Einstellung für PS1:
/etc/bashrc:PS1="\[\033[01;34m\]\d\[\033[00;36m\]{\u@\h}\[\033[00;35m\]\w\[\033[01;34m\]\[\033[001;34m\]-->"
Antworten:
Der häufigste Fehler, der dazu führen kann, ist, dass in der PS1 keine nicht druckbaren Zeichen in eckigen Klammern angegeben werden. Nicht druckbare Zeichen müssen in "\ [… \]" eingeschlossen sein, um bash anzuweisen, sie beim Messen der Länge der Eingabeaufforderung nicht zu zählen.
Zum Beispiel habe ich das in meinem
~/.bashrc
, um meine Eingabeaufforderung fett zu machen:Jede Escape-Sequenz ist in eckigen Klammern eingeschlossen. (Ich benutze es
tput
, um die Codes zu generieren, anstatt sie fest zu codieren, wie es viele Leute tun. Dies ist portabler und erleichtert das Lesen und Warten des Shell-Skripts.)Die PS1, die Sie gepostet haben, scheint jedoch die richtigen eckigen Klammern zu haben. Außerdem kann ich das von Ihnen gemeldete Problem nicht reproduzieren, wenn ich meine PS1 auf Ihre PS1 eingestellt habe. (Ich benutze 10.7.1.)
quelle
bash --noprofile --norc
, und stellen Sie dann Ihre PS1 an der Eingabeaufforderung ein und prüfen Sie, ob das gleiche Problem vorliegt.Fand die Antwort hier:
Im Terminal musste ich zu Preferences-> Settings-> Advanced gehen und xterm-color256 in xterm-color ändern !!
quelle
$TERM
. Suchen Sie nach tatsächlichen Verweisen auf $ TERM sowie nach Aufrufen vontput
oder anderen Programmen, die möglicherweise von $ TERM abhängen.