我正在寻找一个控制代码来使用 ANSI 或其他标准在终端中创建橙色文本,这可能吗?我只看到黄色和红色可用,并且我认为您不能将红色和黄色混合用于同一角色:)
严格来说,不:ANSI 从未标准化任何被称为“橙色”的东西(对于终端的控制序列)。有些终端可以做到这一点,但这超出了标准的范围。
xterm(参见XTerm 控制序列 http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)使用遵循“ANSI”的控制序列(实际上很久以前就已退出标准化)ECMA-48 http://www.ecma-international.org/publications/standards/Ecma-048.htm syntax.
- 其中一些是通过 SGR 的标准 8 种颜色(不包括橙色)。
- 它还(使用 aixterm SGR扩大) 添加另外 8 种颜色。还是没有橙子。
- 然而,xterm 扩展了(以一种不完全标准的方式)SGR 代码 38 和 48,以提供使用 RGB(红/绿/蓝)值的调色板。最大调色板大小编译为 88 或 256 色。
Orange可以由RGB代码组成。例如 X 的 rgb.txt 文件将其定义为
255 165 0 orange
(亮红色加上适度亮的绿色)。要在 shell 脚本中得到它,可以使用
#!/bin/sh
printf "\033[48:2:255:165:0m%s\033[m\n" "Hello world"
printf "\033[48;2;255;165;0m%s\033[m\n" "Hello world"
这两行之间的区别在于使用冒号作为参数分隔符(ECMA-48 有一些更喜欢这样的措辞,例如子参数正如 xterm 中所使用的,这在早期被忽视了)。为了兼容性(包括从 xterm 的早期实现复制的终端),xterm 尊重两者。
xterm 还支持“非 ANSI”方案,称为动态色彩,它接受颜色name,但这设置了整个屏幕的文本颜色。
最后,xterm 可以指定显示颜色,而不是闪烁、粗体、斜体、反转和下划线(参见讨论colorBD
例如)。这是通过 X 资源设置完成的(在转义序列的一些帮助下)。分配给这些资源的颜色可以通过相同的 88/256 颜色扩展来设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)