这个 bash 转义序列是什么意思?

这个 bash 转义序列是什么意思?

我寻找了更改终端标题的方法,并找到了这个 bash 命令:

echo -ne "\033]0;NEW_TITLE\007"

它按应有的方式工作,但我现在感兴趣的是这个“魔法符号”的含义以及它如何工作。

答案1

这使用XTerm 控制序列.echo-e解释给定字符串中的某些序列,在本例中\033Esc,并且\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为终端标题。

有关的:

相关内容