什么是 '\e[s' 和 '\e[u' 字符序列?
What are '\e[s' and '\e[u' character sequences?
在 GNU 代码中我看到 \e[s
和 \e[u
字符 sequences.What 是什么意思?
它如何帮助在控制台上移动光标?
转义字符序列 \e[s
和 \e[u
通常指的是 save/restore 光标(位置)控制序列的可打印形式。那些日期(至少)可以追溯到 ansi.sys
from MS-DOS. Several terminal types (including xterm) 支持这些控制序列。
\e
代表ASCII escape字符。在 termcap 或 terminfo 中,这将是一个大写的 \E
(仍然是相同的代码 27)。
echo
的某些实现(无论是单独的可执行文件还是内置的 shell 命令)将 \e
解释为转义字符。根据 版本 ,您可能会在 GNU coreutils echo
或 bash
中看到此支持(可以并且在各种平台上使用,包括 Windows). echo
的相关标准使用3
。 \e
可能选择小写是为了与 标准 转义(例如 \n
和 \t
.
保持一致
在 GNU 代码中我看到 \e[s
和 \e[u
字符 sequences.What 是什么意思?
它如何帮助在控制台上移动光标?
转义字符序列 \e[s
和 \e[u
通常指的是 save/restore 光标(位置)控制序列的可打印形式。那些日期(至少)可以追溯到 ansi.sys
from MS-DOS. Several terminal types (including xterm) 支持这些控制序列。
\e
代表ASCII escape字符。在 termcap 或 terminfo 中,这将是一个大写的 \E
(仍然是相同的代码 27)。
echo
的某些实现(无论是单独的可执行文件还是内置的 shell 命令)将 \e
解释为转义字符。根据 版本 ,您可能会在 GNU coreutils echo
或 bash
中看到此支持(可以并且在各种平台上使用,包括 Windows). echo
的相关标准使用3
。 \e
可能选择小写是为了与 标准 转义(例如 \n
和 \t
.