Bash 彩色提示和长命令

Bash 彩色提示和长命令

我使用 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\] "

相关内容