我可以获得终端头衔吗? (或以其他方式恢复旧的)

时间:2010-07-12 22:05:30

标签: terminal xterm

echo -e "\e]0;some title\007"可轻松设置终端标题。适用于几乎所有终端程序。

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

4 个答案:

答案 0 :(得分:4)

在xterm上,terminal control sequences 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不支持此功能。

答案 1 :(得分:3)

有一些终端程序支持它(xterm有编译时选项,如RWS所述),但大多数终端程序都缺少这样的功能,包括特别是Terminal.app。

答案 2 :(得分:1)

答案 3 :(得分:0)

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

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

# Restore terminal title
printf "\e]2;\a"