Terminal cygwin终端窗口中的标题/标题是如何生成/定义的?
当我在本地机器上时,标题/标题就像Terminal cygwin终端窗口中的标题/标题是如何生成/定义的?,terminal,cygwin,Terminal,Cygwin,当我在本地机器上时,标题/标题就像$(pwd)。当我连接到其他机器(使用ssh)时,标题有时像user@masine:$(pwd)有时保持不变 这种行为背后的机制是什么?我是否可以更改它(不更改终端的源代码并重建它)?可以在bash设置PS1变量中更改提示符和窗口标题 例如,在我的32位Cygwin上,设置为 $ echo $PS1 \[\e]0;i686 \w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\ni686 $ 这将提示和标题设置为包含“i6
$(pwd)
。当我连接到其他机器(使用ssh)时,标题有时像user@masine:$(pwd)
有时保持不变
这种行为背后的机制是什么?我是否可以更改它(不更改终端的源代码并重建它)?可以在bash设置PS1变量中更改提示符和窗口标题 例如,在我的32位Cygwin上,设置为
$ echo $PS1
\[\e]0;i686 \w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\ni686 $
这将提示和标题设置为包含“i686”和当前目录,并且提示还包含user@machine.
进一步阅读:谢谢!虽然没有回答什么是机制,但它是有用的信息。似乎
\[\e]0之后的“文本”在\a
被用作标题之前,我可以在我的.bashrc
中定义函数来更改标题:title(){export PS1=“\[\e]0;$1\a\]\n\[\e[32m\]\u@\h\[\e[33m\]\w\[\e[0m\]\n\$”;
现在我可以用例如title cool\name\\\\\\\\\\w
来获得标题,但它不起作用(当然)如果我“ssh”到其他机器。