$PS1 中的 38;5 序列是什么?

$PS1 中的 38;5 序列是什么?

我试图在网上查找信息,但找不到任何信息。似乎许多人都使用特定的数字序列,但实际上没有提供任何解释。

更具体地说,我的$PS1bash 如下:

\[\033[38;5;21m\][\[\033[38;5;20m\]\u@\[\033[38;5;1m\]\h \W\[\033[38;5;21m\]]\[\033[0m\]\$

我无法理解38;5顺序是什么。有谁知道那是38;5

我知道是什么,但我不知道就是这样!我的意思是,我知道我必须使用它来分配下一个值(即 38;5;1m,1m 是下一个值)作为前景色并使用 256 色中的值,但我不知道为什么38 以及为什么 5 以及还有哪些其他选项以及这些选项代表什么。

例如,为什么38我们必须使用 or52not 1or 3?是否有3848代码都对应的通用形式?例如,是否存在类似于 the<code>;<switch>;<value>38has的任何通用形式的代码48

有什么帮助吗?

答案1

最初这些代码来自 DEC,作为其 VT52/VT100/VT220 系列串行显示控制台的一部分。这些后来被标准化为 ECMA 和 ANSI 的一部分,并随着时间的推移而得到扩展。

你可以这么早看到一个ECMA标准文件从 1979 年开始,特别是文档的第 40 页(PDF 文件的第 48 页)第 7.2.63 SGR 节。该ESC [ 38序列被保留以供将来使用。这些颜色表是未来的用途。

相关内容