lxterminal fordert unerwünschte Zeichen auf

lxterminal fordert unerwünschte Zeichen auf

Ich verwende eine neue Lubuntu 14.04-Installation. Ich verwende LXTerminal und dies ist die Eingabeaufforderung, die ich über die .bashrc-Datei einstelle:

export PS1="\e[0;36m$ \w \e[m"

Angenommen, ich gebe einen Befehl mit einer Länge von bis zu 15 Zeichen ein (und führe ihn aus, sodass er im Verlauf registriert wird) (ohne die Meldung „Befehl nicht gefunden“ zu beachten):

$ ~ 012345678901234
012345678901234: command not found

Wenn ich jetzt die Pfeiltaste nach oben drücke, erhalte ich meinen Befehl zurück:

$ ~ 012345678901234

Und wenn ich die Pfeiltaste nach unten drücke, gelange ich zurück zur bloßen Eingabeaufforderung:

$ ~ 

DAS PROBLEM Das Problem beginnt, wenn ich 16 oder mehr Zeichen ausführen muss:

$ ~ 0123456789012345
0123456789012345: command not found

Wenn ich jetzt die Pfeiltaste nach oben drücke, wird mir der vorherige Befehl problemlos angezeigt:

$ ~ 0123456789012345

Wenn ich die Pfeiltaste nach unten drücke, gelange ich nicht zur bloßen Eingabeaufforderung zurück, sondern es merkt sich irgendwie 10 Zeichen des ersten über 16 Zeichen langen Befehls in meinem Verlauf und zeigt ihn an, bis etwas anderes ausgeführt wird. Im Grunde wird es vorerst meine Standardeingabeaufforderung.

$ ~ 0123456789

Ich kann nun die Eingabetaste drücken, um es zu entfernen, oder ich kann einen beliebigen anderen Befehl ausführen. Als Beispiel hier:

$ ~ 0123456789ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

Was kann ich tun, um das Problem zu beheben? Es ist keine große Sache, aber es ist ziemlich ärgerlich.

Antwort1

Sie müssen Farbcodes einpacken \[und\]

PS1='\[\e[0;36m\]$ \w \[\e[m\]'

Außerdem ist PS1 nur für Ihre interaktive Shell relevant, Sie müssen es nicht in untergeordnete Prozesse exportieren.

verwandte Informationen