我寻找了更改终端标题的方法,并找到了这个 bash 命令:
echo -ne "\033]0;NEW_TITLE\007"
它按应有的方式工作,但我现在感兴趣的是这个“魔法符号”的含义以及它如何工作。
答案1
这使用XTerm 控制序列.echo
用-e
解释给定字符串中的某些序列,在本例中\033
为Esc,并且\007
是 ASCII 铃铛字符(参见man 7 ascii
)。
在 XTerm 术语中,一个Esc(表示为^]
)后面跟着]
一个操作系统控制代码. 支持该功能的终端按照上面的链接进行解释:
OSC Ps ; Pt ST
OSC Ps ; Pt BEL
Set Text Parameters. For colors and font, if Pt is a "?", the
control sequence elicits a response which consists of the con-
trol sequence which would set the corresponding value. The
dtterm control sequences allow you to determine the icon name
and window title.
Ps = 0 -> Change Icon Name and Window Title to Pt.
Ps = 1 -> Change Icon Name to Pt.
Ps = 2 -> Change Window Title to Pt.
OSC
即^]]
,Ps
在本例中为0
,将Pt
在本例中设置NEW_TITLE
为终端标题。
有关的: