服务器 Bash 行在文本和错误的地方换行

Pez*_*kow 4 shell bash terminal centos mac-osx

这是一个很难解释的问题,当使用 bash shell 连接到我的一台服务器时,在任何用户下,换行符都被破坏并且有各种各样的问题。其中一次我在下面的屏幕截图中详细说明:在此处输入图片说明

第2部分

第三部分

第四部分

我遇到的其他问题包括 nano 对我所在的行和/或字母感到非常困惑,如在 nano 中键入相同的消息所示:

纳米坏了

这些问题仅在我之前提到的连接到运行 CentOs 的服务器时才会出现。你知道为什么会发生这种情况以及我能做些什么来解决它吗?在其他服务器上,消息工作正常!

其他服务器工作

谢谢你的时间,


请求命令的输出:

无法正常工作的服务器: 不工作服务器

工作服务器:

工作的服务器


它可能是非工作服务器上的自定义提示吗?在 .bashrc 中

PS1='\e[1;32m\u@\h\e[m:\e[1;34m\w\e[m$ '
Run Code Online (Sandbox Code Playgroud)

对此进行评论似乎可以解决问题。

谷歌表示,如果不遵守这些规则,可能会出现换行错误

use the \[ escape to begin a sequence of non-printing characters,
and the \] escape to signal the end of such a sequence
Run Code Online (Sandbox Code Playgroud)

我不确定这适合我的提示吗?

Eig*_*ony 5

自定义提示是问题(来自您的评论)。

PS1='\e[1;32m\u@\h\e[m:\e[1;34m\w\e[m$ '
Run Code Online (Sandbox Code Playgroud)

它要么发送您的终端不理解的控制序列,要么格式不正确。

你可以试试这个

PS1='\[\e[1;32m\]\u@\h\[\e[m\]:\[\e[1;34m\]\w\[\e[m\]$ '
Run Code Online (Sandbox Code Playgroud)