Bash提示历史问题

时间:2012-05-15 05:45:36

标签: bash command-prompt .bash-profile

这是一个奇怪的问题,我无法与谷歌找到一个好的答案(当然,我总是有可能失败)。在我的bash提示符下,如果我为提示的一部分着色,当我点击'up'转到上一个命令时,我不能在超过一定数量的字符(特别是31)之后转到该行的开头

我当前的bash提示是:(颜色在我的.bashrc中定义)

PS1="[\u@$cyan\h$NC \w] "

但如果我改成它:

PS1="[\u@\h \w] "

它不再阻止我走到行的开头。

奇怪的部分,在视觉上,当我回到家中去到行的开头(或使用箭头键)时,它会在字符串中停止11个字符,但如果我从那里编辑它,它会编辑启动在行的开头。

有谁知道为什么会这样?我想在服务器管理中使用颜色,颜色就是我一目了然地区分我的盒子。

1 个答案:

答案 0 :(得分:26)

非打印序列(如颜色代码)必须由\[\]包围,因此其长度不会计入提示长度的一部分。