git-bash窗口标题问题

git-bash窗口标题问题

我启动了 git-bash 窗口,然后输入以下命令:

git-bash ~$ echo $BASH_VERSION
4.4.23(1)-release
git-bash ~$ type cd
cd is a shell builtin
git-bash ~$ cd tmp
git-bash ~/tmp$
# Change of directory is NOT refelected on git-bash window title

git-bash ~/tmp$ ssh user@linux
[user@linux ~]$ echo $BASH_VERSION
4.4.20(1)-release
[user@linux ~]$ type cd
cd is a shell builtin
[user@linux ~]$ cd tmp
[user@linux ~/tmp]$
# Change of directory   IS   refelected on git-bash window title

为什么 git-bash 不更新自己的窗口标题,而远程 bash 却更新?

答案1

Bash 和终端都不会自动更新标题 - 必须通过输出必要的控制序列来更新标题,或者作为 的一部分PS1(在显示提示的同时)或通过PROMPT_COMMAND.某些发行版已经具有可更新终端标题的自定义 shell 提示符,但有些则没有。

设置终端标题的控制序列通常是\e]0;NEW TEXT\e\\。 (可能会有变化。)例如,要将终端标题设置为user@host /path(ie \u@\h \w),您可以使用:

PS1+='\[\e]0;\u@\h \w\e\\\]'

这是\[告诉 Bash 一个“不可见”(0 宽度)序列开始;
\e]0;作为“set title”终端命令的开始;
\u@\h \w作为 user@host 和工作目录的 Bash PS1 扩展;
\e\\作为终止符(\a尽管非标准,但也可以接受);
\]结束“看不见”的区域。

这应该在您的 中~/.bashrc靠近其他提示自定义项进行设置。

相关内容