终端线路故障

我安装了Ubuntu 11.10 mini + LXDE,并希望在终端中使我的命令行不同(而不仅仅是纯白色),所以我在路径线上添加了蓝色(直到$ sign的所有内容)并且它工作正常但我现在有两个奇怪的故障:

  1. 当我写一个比终端窗口长的行时,不是从下一行开始,而是从同一行开始,覆盖那里的所有内容。
  2. 有时在导航过去的命令(向上/向下箭头键)时,命令的某些部分会被卡住,并被视为提示(蓝色文本)的一部分,但它是白色的并且是不可删除的,并且不作为命令的一部分。我按回车键。

我能搞砸什么? 不好的是我不记得我究竟改变了什么,但我确定我在bashrc只更改了一行

编辑 :对于任何愿意自定义终端线的人来说,这是一个很好的教程- >链接< – 。 确保你不会错过任何符号(特别是'\'),一切正常。

可以在/etc/skel/.bashrc找到默认的bashrc。 我建议您备份当前的bashrc,然后用skel中的那个替换你的bashrc,然后查看问题是否仍然存在。 然后,如果他们不这样做,备份和编辑你的新bashrc,发表评论说你做了什么!!

我很晚了,但问题是Bash不知道将光标放在哪里,因为它将特殊颜色代码字符解释为普通文本。 通过在颜色代码周围放置[和]标签来解决此问题。 而不是写\e[1;31m使文本变红,你应该写\[\e[1;31m\]

如果您遇到此问题,请仔细检查所有颜色转义码,看看它们周围是否有这些标签。

我有相同的症状,但在我的情况下问题是我的Bash提示中的ASCII铃铛转义序列\a导致问题。 颜色代码用括号正确括起来(感谢@ringstaart)。

我在.bashrc中设置有问题的Bash提示符是(省略颜色变量定义):

PS1="\[$BLUE\]\u@\h: \[$YELLOW\]\w\a\\[$PURPLE\]\[$WHITE\]\$ "

简单地删除\a解决了问题:

PS1="\[$BLUE\]\u@\h: \[$YELLOW\]\w\\[$PURPLE\]\[$WHITE\]\$ "