Aslında bunun eksik bir 'basılmayan karakter' sınırlayıcısıyla ilgili olduğunu düşünüyorum. Ben de aynı sorunu yaşadım, ancak yeni satır (\ n) 'nın önüne geçmeden sorunu taşımak. Bunun yerine, baskı yapmayan tüm karakterleri (burada, renklendirme komutlarını) '\ [' ve '\]' ile doğru şekilde sardım.
Kötü (çalışıyor, ancak yukarıda açıklanan tarih ezme sorunu var):
PS1="\e[32m\u\e[35m@\e[32m\h \e[33m\w\e[36m\n\$\e[0m"
İyi (tüm renk komutlarını '\ [' ve '\]' ile sarılı - püresi komut geçmişini göstermez):
PS1="\[\e[32m\]\u\[\e[35m\]@\[\e[32m\]\h \[\e[33m\]\w\[\e[36m\]\n\$\[\e[0m\]"
i.e. "\e[...m" --becomes--> "\[\e[...m\]"
Ve eğer bir sisteme giriş yaptıktan sonra otomatik olarak göndermek için bunu SecureCRT gibi bir şeye koyarsanız, otomatik giriş sistemi gönderilecek karakteri belirlemek için ilk ters eğik çizgiyi kullanırsa, her şeyden iki kez kaçış (her yere çift ters eğik çizgi koymanız) gerekebilir. :
PS1="\\[\\e[32m\\]\\u\\[\\e[35m\\]@\\[\\e[32m\\]\\h \\[\\e[33m\\]\\w\\[\\e[36m\\]\\n\\$\\[\\e[0m\\]"
i.e. "\..." --becomes--> "\\..."
(Bu, SecureCRT için kesinlikle geçerlidir ve sizin için gerekli olan PuTTY veya TeraTerm testi gibi diğerleri için de geçerli olabilir.)