BASH in Terminal.app bricht zu früh die Zeile um

S

sECuRE

Aktives Mitglied
Thread Starter
Dabei seit
25.06.2005
Beiträge
568
Reaktionspunkte
6
Hi,

ich habe meine Shell von tcsh auf bash umgestellt und mein Prompt in "\e[36;40m\u@\e[34;40m[\W]\e[31;1m $\e[0m " geändert. Nun bricht die Zeile zu früh um, das heißt, dass ich, wenn ich einen Befehl eingebe, nicht an das rechte Ende des Fensters komme (welches 80x24 groß ist).

Hatte das Problem mal jemand? Wie wurde es gelöst?

Im Netz hab ich das selbe Problem für Linux gefunden, leider ist es hier als "known problem" abgehandelt und mehr als ein "live with it" kam nicht bei raus.

Danke schonmal
 

Anhänge

  • Bild 1.png
    Bild 1.png
    13,6 KB · Aufrufe: 89
Es sieht so aus, als ob bash die Länge des Prompts falsch berechnet und deshalb zu früh umbricht, indem auch nicht darstellbare Zeichen (\e[?) berücksichtigt werden.

Bei fancybash tritt dieser Effekt interessanterweise nicht auf!
 
Hi,

darauf würde ich auch tippen, es hört sich plausibel an. Kann man das nun irgendwie beheben?

Danke & cu
 
Ja:
Code:
PS1="\[\033[36;40m\]\u@\[\033[34;40m\][\W]\[\033[31;1m\] $\[\033[0m\] "
 
Hi,

das funktioniert wunderbar, danke :).

cu
 
Ach ja, ich habe aus Gewohnheit `\033' geschrieben - Du kannst Du natürlich auch weiterhin `\e`schreiben.
Wichtig ist die Klammerung. Das steht aber auch in der man page; insofern kann ich das "live with it" nicht so recht nachvollziehen ;).
 
Zurück
Oben Unten