这是一个奇怪的问题,我无法与谷歌找到一个好的答案(当然,我总是有可能失败)。在我的bash提示符下,如果我为提示的一部分着色,当我点击'up'转到上一个命令时,我不能在超过一定数量的字符(特别是31)之后转到该行的开头
我当前的bash提示是:(颜色在我的.bashrc中定义)
PS1="[\u@$cyan\h$NC \w] "
但如果我改成它:
PS1="[\u@\h \w] "
它不再阻止我走到行的开头。
奇怪的部分,在视觉上,当我回到家中去到行的开头(或使用箭头键)时,它会在字符串中停止11个字符,但如果我从那里编辑它,它会编辑启动在行的开头。
有谁知道为什么会这样?我想在服务器管理中使用颜色,颜色就是我一目了然地区分我的盒子。
答案 0 :(得分:26)
非打印序列(如颜色代码)必须由\[
和\]
包围,因此其长度不会计入提示长度的一部分。