命令提示符中的终端窗口标题与 Git 分支名称?

命令提示符中的终端窗口标题与 Git 分支名称?

我想将有关 Git 分支的信息添加到我的命令行提示符中,我发现这个帖子:

parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}

export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

我将这些行添加到我的.bashrc.

它可以工作,在提示符 ( joedoe@machine1 ~/git/repo1 (dev_branch) $) 中显示 Git 分支,但是,它弄乱了我的 GNOME 终端的窗口标题,该标题过去包含当前工作目录,现在它只显示“终端”。

为什么这会改变终端窗口标题?有更好的解决方案吗?

答案1

旧 $PS1 的这部分设置标题:

\[\e]0;\u@\h: \w\a\]

\[...\]部分仅意味着里面的字符不会改变提示的长度。\e]0;...\a用于设置标题,标题被设置为\u@\h: \w翻译为用户名@主机名:工作目录

将该模式包含到您的新 PS1 中以获得相同的行为。

相关内容