在bash中滚动命令历史记录时的额外字符

时间:2013-07-03 17:47:57

标签: bash

当我使用向上箭头键在bash中滚动浏览我的命令历史记录时,我经常(但并非总是)以命令的前三个字符结束为止。

例如,我输入以下命令(按此顺序):

>whoami
>pwd
>ls -la

现在我打了一次然后得到:

>ls -la

我第二次击中并获得

>ls pwd

我第三次击中并获得

>ls whoami

如果我再打几次,我就

>ls ls -la

如果我一直走下去,我就得到了

>ls

如果我点击这里输入,它确实表现得好像没有任何东西(而不是额外的ls)

可能导致此问题/我应该在哪里寻找?我仍然主要是Linux新手。

1 个答案:

答案 0 :(得分:2)

想出来了。问题出在我的PS1提示符中\ n的位置。

糟糕的版本:

export PS1="\n\e[0;33m[\!]\e[m\e[0;32m[\A \w]\n\e[m>

好的版本:

export PS1="\n\e[0;33m[\!]\e[m\e[0;32m[\A \w]\e[m\n>