什么是'\ e [s'和'\ e [u'字符序列?

时间:2015-07-04 09:05:16

标签: bash terminal ansi-escape

在GNU代码中,我看到了\e[s\e[u个字符序列。它们是什么意思?
它如何帮助在控制台上移动光标?

1 个答案:

答案 0 :(得分:2)

转义字符序列string date1=reader["coloumn name"].tostring(); \e[s通常指保存/恢复游标(位置)控制序列的可打印形式。这些可以追溯到(至少)从MS-DOS到ansi.sys。几种终端类型(包括xterm)支持这些控制序列。

\e[u代表ASCII 转义字符。在termcap或terminfo中,这将是一个大写的\e(仍然是相同的代码27)。

\E的某些实现(无论是单独的可执行文件还是内置的shell命令)将echo解释为转义字符。根据版本,您可能会在GNU coreutils \eecho中看到这一点(可以在各种平台上使用,包括Windows)。 echo的相关标准使用bash\033可能选择为小写,以便与标准转义符保持一致,例如\e\n