Hallo, als ich den Aufwärtspfeil drückte, um den vorherigen Befehl anzuzeigen, wurde der aktuelle Befehl von der Hälfte neu geschrieben.
Beispiel:
21 /usr/local/sphinx/etc > /usr/local/sphinx/bin/search --config /usr/local/sphinx/etc/sphinx-blog.conf php
und wenn ich auf den Pfeil nach oben drücke, wird angezeigt:
21 /usr/local/sphinx/etc > /usr/local/sudo /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx-blog.conf --all
und "/usr/local/" vor SUDO ist vom vorherigen Befehl. Wisst ihr wo das Problem liegen soll? Hier ist meine Eingabeaufforderungseinstellung:
PS1="\# \e[32;1m\w > \e[0m "
Ich habe herumprobiert und es schließlich geschafft, den Fehler zu finden: Sie müssen noch mehr Escape-Sequenzen in Ihrer PS1 verwenden - das sollte funktionieren:
export PS1="\# \[\e[32;1m\]\w > \[\e[0m\]"
Beachten Sie das zusätzliche \[
und , \]
das die Farb-Escape-Sequenzen umschließt.
vosy
Asmus
read
auf der Befehlszeile ausführen und dann den Aufwärtspfeil drücken? (Sie können mit Strg + C beendenread
) Theoretisch sollte dies^[[A
oder\e[A
(rep.^[[B
oder\e[B
für den Abwärtspfeil) ergeben. Hast du vielleicht bind für deine Pfeiltasten konfiguriert (zB im ~/.bash_profile)?vosy
18 ~ > /usr/local/read ^[[A^[[B^[[A^[[A^[[A^[[A^[[B^[[B^[[B
cm2