
Ich färbe Teile meiner Bash-Eingabeaufforderung mit ANSI-Escape-Sequenzen ein. Das funktioniert hervorragend, bis der Befehl, den ich gerade eingebe, so lang ist, dass er umgebrochen werden muss. Anstatt den Rest des Befehls in der nächsten Zeile anzuzeigen, wird er in Spalte 1 der aktuellen Zeile zurückgebrochen und überschreibt dabei den Anfang der Eingabeaufforderung.
Ich erhalte dieses Verhalten mit dieser Eingabeaufforderung:
export PS1="[\u][\033[0;32;40mdemo \033[0;33;40m1.5.40.b\033[0;37;40m] \w> \033[0m"
aber es funktioniert einwandfrei mit der gleichen Eingabeaufforderung, ANSI-Sequenzen entfernen:
export PS1="[\u][demo 1.5.40.b] \w> "
Ich verbinde mich mit der aktuellen Version von Putty, mit den Standardeinstellungen von Putty. Das Betriebssystem ist Ubuntu 8.10.
Antwort1
Da muss etwas drin sein, denn die folgende Zeichenfolge aus demBash-Dokumentationzeigt nicht das gleiche Verhalten:
PS1="\[\033[1;34m\][\$(date +%H%M)][\u@\h:\w]$\[\033[0m\] "
Ich habe noch nicht herausgefunden, was es ist, aber ihres funktioniert und Ihres nicht ...
BEARBEITEN:Versuchen:
PS1="[\u][\[\033[1;32m\]\[\033[1;40m\]demo \[\033[1;33m\]\[\033[1;40m\]1.5.40.b\[\033[0;37m\]] \w> \[\033[0m\] "