设置终端标题--根据ANSI控制字符
ANSI 的全称是 "American National Standards Institute",是美国国家标准协会的缩写。
ANSI 转义序列是一种文本终端的标准化控制序列。它是一种由 ANSI(美国国家标准协会)制定的标准,用于在文本终端(如命令行终端或控制台)中控制文本显示和终端行为。
ANSI转义序列(ANSI Escape Code): 由ANSI标准化的转义序列,几乎所有终端模拟器都参考该标准。
命令实现
终端执行如下命令可更换终端标题,可以写入一个脚本。
echo -en \033]0;设置的标题\007
echo -en命令告诉 shell 在打印文本时解释转义字符,并且不自动添加换行符。
序列 \033]0;设置的标题\007 是一种 ANSI 控制字符序列,通常用于设置终端窗口的标题。具体步骤如下:
\033表示 ESC 字符,开始 ANSI 控制序列。]0;表示设置窗口标题的命令序列的开始。设置的标题是你要显示的标题文本。\007表示 BEL 字符,结束整个 ANSI 控制序列。
基本语法
ANSI 转义序列由一系列特定的字符组成,用于控制文本终端的行为和外观。它的基本语法如下:
-
Escape Character:
- ANSI 转义序列以 ESC(Escape)字符开始,ASCII 表示为
\033,或者十六进制表示为0x1B。
- ANSI 转义序列以 ESC(Escape)字符开始,ASCII 表示为
-
控制字符序列:
- ESC 后面跟着一个左方括号
[,表示控制序列的开始。
- ESC 后面跟着一个左方括号
-
参数:
- 可选的数字参数,用分号
;分隔。这些参数通常用于控制序列的具体行为,如颜色设置、位置移动等。参数可以是 0 到 9 之间的数字。
- 可选的数字参数,用分号
-
命令字:
- 一个或多个字母字符,用于定义具体的操作或设置。这些命令字指定要执行的操作,如颜色设置、光标移动、文本属性等。
-
终止序列:
- 控制序列以一个终止字符结束,通常是一个特定的字符,如
m(设置颜色)、H(设置光标位置)、J(清除屏幕)、K(清除行)等。
- 控制序列以一个终止字符结束,通常是一个特定的字符,如
-
示例:
- 例如,设置文本颜色为红色可以使用
\033[31m,其中31是参数,m是命令字。
- 例如,设置文本颜色为红色可以使用
原理解释:
-
ANSI 转义序列:
- ANSI 转义序列是一种通过输出特定的控制字符来控制文本终端行为的方法。它以 ESC(Escape)字符(ASCII
\033)作为起始,后面跟着一系列控制字符来定义不同的操作或设置。
- ANSI 转义序列是一种通过输出特定的控制字符来控制文本终端行为的方法。它以 ESC(Escape)字符(ASCII
-
设置窗口标题:
- 终端软件可以通过捕捉和解释特定的 ANSI 控制字符序列来执行不同的操作。在这种情况下,
ESC]0;设置的标题\007这个序列告诉终端将当前窗口的标题设置为指定的文本内容。
- 终端软件可以通过捕捉和解释特定的 ANSI 控制字符序列来执行不同的操作。在这种情况下,
-
为什么有效?:
- ANSI 控制字符是设计用来在文本终端上执行各种操作的标准化方法。输出这些字符序列使得终端软件能够识别并根据其定义的操作来改变终端的状态或外观。具体到设置标题的操作,终端软件能够解析并应用这个序列,将指定的文本显示在窗口的标题栏上

浙公网安备 33010602011771号