如何用'tput'命令设置terminal的标题?

我通过这个答案发现,我已经用天真的方式设置terminal颜色多年了。

我现在修改了我的.bashrc来使用'tput'命令来对提示中的各种元素进行着色。 剩下的一个转义代码是这样的:

TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]" 

有谁知道是否有一个tput / terminfo属性我可以用来设置我的terminal窗口的标题栏,以便我可以消除逃脱?

实际function是tsl(到状态行)和fsl(从状态行),但当然不是所有的terminal都有。 特别是在Linux中,您需要将您的terminal设置为xterm + sl或类似的东西。

你可以用这个来testing

 export TERM=xterm+sl echo `tput tsl` Hello world `tput fsl`; sleep 10 

我不会打扰,并保留在.bashrc逃脱

看了xterm terminfo文件,我找不到任何与此命令相同的代码,所以我怀疑没有。

如果您有兴趣,terminfo手册页列出了termcap和terminfo所理解的所有命令。 我使用以下命令反编译terminfo数据库文件:

  #infocmp -L xterm 

我不能评论,因此有一个额外的答案:

如果你使用tsl / fsl,一定要先问问terminalhs。 如果支持tsl / fsl(和其他* sl),则hs应该为真。

 tput hs && { echo ....; } 

有关xterm“vt100模式”特殊function的更多信息,请参阅“操作系统控制”部分中的“ Xterm控制序列”文档,以了解所有的细节。