我使用 ANSI 转义序列为 bash 提示符的部分内容着色。这种方法效果很好,直到我当前输入的命令太长而必须换行。命令的其余部分不会显示在下一行,而是换行回到当前行的第 1 列,覆盖提示符的开头。
我通过以下提示获得了这种行为:
export PS1="[\u][\033[0;32;40mdemo \033[0;33;40m1.5.40.b\033[0;37;40m] \w> \033[0m"
但它可以在相同提示下正常工作,ANSI 序列删除:
export PS1="[\u][demo 1.5.40.b] \w> "
我使用当前版本的 Putty 进行连接,使用默认的 Putty 设置。操作系统是 Ubuntu 8.10。
答案1
这里面肯定有什么东西,因为bash 文档不会表现出相同的行为:
PS1="\[\033[1;34m\][\$(date +%H%M)][\u@\h:\w]$\[\033[0m\] "
还没有弄清楚它是什么,但是他们的作品和你的没有......
编辑:尝试:
PS1="[\u][\[\033[1;32m\]\[\033[1;40m\]demo \[\033[1;33m\]\[\033[1;40m\]1.5.40.b\[\033[0;37m\]] \w> \[\033[0m\] "