自定义 bash 提示符的问题

自定义 bash 提示符的问题

我正在尝试设置自定义 bash 提示,除了标准的 user@host 提示之外,还包括历史行数和 24 小时格式的时间,两者都采用不同的颜色。

我看过这个帖子

自定义 bash 提示符存在错误

和一些其他的例子,但我似乎仍然无法做到正确,因为在设置自定义提示后我遇到了各种奇怪的行为。

我尝试过这个字符串的几种变体:

PS1='\[\e[01;31m\]\!\[\e[00m\] \[\e[01;33m\A\[\e[00m\] ${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

有些转义字符较少,有些转义字符较多。各种尝试都导致在浏览历史记录或删除一行中的命令时文本过多或过少。

即使看了几个例子,我还是不明白需要转义什么以及转义多少。

这可能不相关,但我使用的是 Kubuntu 21.10。我仅通过 Konsole 和 Dolphin 终端访问 bash。

提前感谢您并致以最诚挚的问候!

答案1

这似乎有效。这很简单。我不知道为什么我以前做不到。

PS1='[\033[01;31m]![\033[00m] [\033[01;33m]\A[\033[00m] ${debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[00m]:[\033[01;34m]\w[\033[00m]$ '

我很抱歉发布这么小的问题。

无论如何,我发现这个提示非常有用,所以无论如何,这里是任何对此感兴趣的人的解决方案。

相关内容