对我的 PS1 进行故障排除

对我的 PS1 进行故障排除

我有一个PS1看起来像:

johnsmith@someserver:~
$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n$(exitstatus)

由于我通常在笔记本电脑上工作,因此我非常喜欢在下一行显示命令提示符,因此\n$PS1.

有时,当我使用我的导航到以前的命令时向上/向下箭头,提示被“破坏”,光标浮动在第一行有的位置\n,并且从历史记录中恢复的命令从那里开始,尽管字符显示在该行的开头,但为了说明目的:

johnsmith@someserver:~
$ cp templates/template-component.yaml components/foo/my-component.yaml

光标会在字母所在的位置闪烁e,命令cp会从那里开始,但它会像我粘贴时一样显示,这使得很难知道我正在编辑什么。

是什么规范的恰当的在 Unix 中进行两行提示的方法?如果没有奇怪的错误行为,我怎样才能实现这个结果呢?

编辑:

添加有关我的设置的更多信息,shell 是bashversion 5.0.3。终端是gnome-terminal版本3.30.2-2.

编辑#2:

我一直试图在其他地方复制这个问题,tty但没有成功,这(对我来说)指出gnome-terminal这里是潜在的罪魁祸首。

相关内容