在bash中滚动命令历史记录时的额外字符
当我在bash中使用向上箭头键滚动我的命令历史记录时,我经常(但不总是)以命令的前三个字符基本上卡住而结束 例如,我键入以下命令(按此顺序): 现在我点击一次,得到:在bash中滚动命令历史记录时的额外字符,bash,Bash,当我在bash中使用向上箭头键滚动我的命令历史记录时,我经常(但不总是)以命令的前三个字符基本上卡住而结束 例如,我键入以下命令(按此顺序): 现在我点击一次,得到: >ls -la 我第二次击中它,然后 >ls pwd >ls whoami 我第三次击中它,然后 >ls pwd >ls whoami 如果我再打几次,我就会 >ls ls -la 如果我一路走下去,我就会 >ls 如果我点击这里的回车键,它的行为就好像那里什么都没有(而不是
>ls -la
我第二次击中它,然后
>ls pwd
>ls whoami
我第三次击中它,然后
>ls pwd
>ls whoami
如果我再打几次,我就会
>ls ls -la
如果我一路走下去,我就会
>ls
如果我点击这里的回车键,它的行为就好像那里什么都没有(而不是额外的ls)
这可能是什么原因造成的/我应该在哪里寻找?我基本上还是个linux新手。解决了这个问题。问题在于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>
好的版本:
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>
我的猜测是,您没有“获取”这些命令–它只是将它们打印偏移三个字符,并且
ls
永远不会被覆盖。您的提示符中是否有一些有趣的非打印字符使bash感到困惑echo$PS1
为我们提供。检查您的~/.inputrc
是否存在任何损坏。是的,我开始玩我的$PS1,这似乎就是问题所在。。。问题是颜色内有一个\nmarkers@CarlNorum好主意,你能不能把它作为一个答案贴出来,让它成为其他处于痛苦中的人的一个很好的参考点。:)