我使用PuTTY SSH到我的Linux服务器。 今天我注意到,当我input超出屏幕右侧的长命令,而不是换行到下一行时,文本从同一行的屏幕左侧开始,写在字符的顶部。 我无法弄清楚可能导致这种情况的原因。 任何人都可以指出什么可能会导致此,以及如何解决? 我最初在PuTTY中勾选了自动换行模式。
我还没有对这个服务器的PuTTY设置做任何改变,所以不知道为什么这个停止工作正常。
提交问题之后,我最好想清楚了,Google上的另一个search给了我很多解释:
我喜欢的PS1string是: PS1='\e[0;32m[\u\e[m@\h \W]\$ '但是这包括非打印字符(改变用户名的颜色的\ e部分)。 我需要使用\[转义这些非打印字符。 以下解决了这个问题:
PS1='[\[\e[0;32m\]\u\[\e[m\]@\h \W]\$ '
这导致输出如下所示:
[username@hostname cwd]$
用户名为绿色。
我编辑了我的PS1线,以便普通用户使用红色的用户名,但是如果用户名为root,根目录将会显示为红色(如果您感兴趣的话, \e[0;31m ))。 我想,因为我这样做,我没有input任何长期的命令…