我使用 PuTTY 通过 SSH 连接到我的 linux 服务器。今天我注意到,当我输入一个超出屏幕右侧的长命令时,文本没有自动换行到下一行,而是从屏幕左侧的同一行开始,写在字符的顶部. 我无法弄清楚是什么原因导致了这种情况。任何人都可以指出可能导致这种情况的原因以及如何解决?我最初在 PuTTY 中勾选了自动换行模式。
我没有对此服务器的 PuTTY 设置进行任何更改,所以不知道为什么它停止正常工作。
提交问题后,我最好考虑一下,在谷歌上的另一次搜索给了我这个,这几乎解释了它:
我喜欢的 PS1 字符串是:PS1='\e[0;32m[\u\e[m@\h \W]\$ '但这包括非打印字符(改变用户名颜色的 \e 部分)。我需要使用\[. 以下解决了该问题:
PS1='[\[\e[0;32m\]\u\[\e[m\]@\h \W]\$ '
Run Code Online (Sandbox Code Playgroud)
这导致输出如下:
[username@hostname cwd]$
Run Code Online (Sandbox Code Playgroud)
用户名颜色为绿色。
我已经编辑了我的 PS1 行,以便普通用户的用户名是绿色的,但是如果 su 到 root,root 将是红色的(\e[0;31m如果你有兴趣的话)。我想自从我这样做以来,我没有输入任何长命令......