我启动了一个 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 更新?
Bash 和终端都不会自动更新标题 - 它必须通过输出必要的控制序列作为一部分
PS1
(在显示提示的同时)或通过PROMPT_COMMAND
. 一些发行版已经有一个自定义的 shell 提示符来更新终端标题,但有些没有。设置终端标题的控制序列通常是
\e]0;NEW TEXT\e\\
. (可能会有变化。)例如,要将终端标题设置为user@host /path
(ie\u@\h \w
),您可以使用:那是
\[
告诉 Bash 一个“不可见的”(0 宽度)序列开始;\e]0;
作为“设置标题”终端命令的开始;\u@\h \w
作为 user@host 和工作目录的 Bash PS1 扩展;\e\\
作为终结者(\a
虽然非标准,但也可以接受);并
\]
结束“隐形”区域。这应该在您的
~/.bashrc
, 附近的其他提示自定义项中设置。