2012年3月9日星期五

Bash长行换行问题

发现Bash命令行里面敲的字符超过一行的话,后面的字符不会从下一行开始,而是从提示符开始覆盖。这样覆盖一行后,再输入才会换行。初步锁定问题在PS1变量上,PS1是:
\e[35m\u@\h \w$ \e[0m
如果没有颜色的PS1就没有问题。

后来搜索到解决办法了,要用\[\]把非打印字符括起来,这样Bash就不会糊涂不知道光标在哪里了。其实Bash的手册里面有介绍\[\]在提示符中的作用。

没有评论:

发表评论