10

使用 .设置终端标题很容易echo -e "\e]0;some title\007"。适用于几乎所有终端程序。

我想要的是在某些程序启动时设置终端标题 - 并在它完成时恢复旧的。这可能吗?

4

4 回答 4

10

在 xterm 上,终端控制序列22 和 23 工作正常,如

#!/bin/sh
/bin/echo -ne '\033[22;0t'  # Save title on stack
/bin/echo -ne "\033]0;$(date)\007"
sleep 1
/bin/echo -ne '\033[23;0t'  # Restore title from stack

不过,Mac OS X Terminal.App 似乎不支持此功能。

于 2013-11-18T13:21:53.940 回答
3

有一些终端程序支持它(如 RWS 所述,xterm 有编译时选项),但大多数终端程序只是缺乏这种功能,尤其是 Terminal.app。

于 2010-07-29T08:11:38.933 回答
1

是的,这确实是可能的。请参阅xterm参考手册(例如,像这样)并浏览它。xterm甚至为此有一个内置堆栈,因此您不必手动存储标题。

于 2010-07-23T12:17:19.247 回答
1

我的解决方案是在我的脚本中设置窗口标题,然后在我完成时取消设置窗口标题。取消设置标题恢复为原始值。具体来说,我做了以下事情:

# Set the terminal title
printf "\e]2;%s\a" "running my script"
# Do whatever processing is required.
...

# Restore terminal title
printf "\e]2;\a"
于 2013-11-13T20:43:36.850 回答