bash 提示的非打印字符列表

Fre*_*red 3 bash

我找到了几个文件,列出了带有非打印字符的 bash 提示符的一些功能(例如 \E[33;44m 在蓝色背景上打印黄色文本),但是我到处看,我只找到非常具体的例子,并且没有对这些特殊字符的真正解释,或这些字符可能发生的所有事情的完整列表。

有时,示例使用 \033[ 前缀,有时使用 \E[,两者之间有区别吗?

到目前为止,我知道以下是可能的:

使用颜色:\E[33;44m
将光标移动到特定位置(第 10 行,第 20 列):\033[10;20H
隐藏光标:\E[?25l
显示光标:\E[?25h]

还有其他神奇的组合吗?我在哪里可以找到这些特殊字符的完整列表以及如何使用它们?

gee*_*aur 5

有时,示例使用 \033[ 前缀,有时使用 \E[,两者之间有区别吗?

第一层:该\处于“转义字符” Ç和其他编程语言。\033和\x1B是ASCII 控制字符 ESC(十六进制字节 0x1B)的C 风格八进制和十六进制转义。\e和\E也是 C 的一部分,也意味着相同的ESC字符,但不常见。

无论您使用上述哪种方式,ESC都会插入相同的内容,但\e输入比\033.

还有其他神奇的组合吗?我在哪里可以找到这些特殊字符的完整列表以及如何使用它们?

第二层:同样,ASCIIESC是VT100终端及其后代使用的ANSI 转义码的前缀。可用代码不取决于,而是取决于您使用的特定终端仿真器。可能都支持ECMA-48 中定义的代码,但这只是一小部分。bash

该的Xterm控制序列页面有一个广泛的名单,但你会想看看你使用无论什么文件,无论是gnome-terminal,Konsole的,rxvt或什么的。有些是特定于 Linux 控制台 (tty) 的。