Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 什么是'\e[s';和';\e[u';字符序列?_Bash_Terminal_Ansi Escape - Fatal编程技术网

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

Bash 什么是'\e[s';和';\e[u';字符序列?,bash,terminal,ansi-escape,Bash,Terminal,Ansi Escape,在GNU代码中,我看到了\e[s和\e[u字符序列。它们是什么意思? 它如何帮助移动控制台上的光标?转义字符序列\e[s和\e[u通常指保存/还原光标(位置)控制序列的可打印形式。这些控制序列可追溯(至少)到MS-DOS。几种终端类型(包括)支持这些控制序列 \e代表ASCII转义字符。在termcap或中,这将是大写的\e(仍然是相同的代码27) echo的一些实现(无论是单独的可执行文件还是内置的shell命令)将\e解释为转义字符。根据版本的不同,您可能会在GNU coreutilsech

在GNU代码中,我看到了
\e[s
\e[u
字符序列。它们是什么意思?

它如何帮助移动控制台上的光标?

转义字符序列
\e[s
\e[u
通常指保存/还原光标(位置)控制序列的可打印形式。这些控制序列可追溯(至少)到MS-DOS。几种终端类型(包括)支持这些控制序列

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

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