如何使用终端允许的 256 种颜色中的任何一种打印文本?

fou*_*ric 6 colors terminal

我想编写一个程序,利用 Linux 终端的所有 256 种文本颜色。然而,迄今为止,我只发现了少数颜色代码,它们的格式为“\033[1;NUMmNUM\033[1;m”。然而,这些转义码只允许使用两到三打颜色,而不是Linux 终端应该允许的 256。如何在我的curses应用程序中显示那些其他颜色?

Run*_*ium 7

你可以看看TERM设置。这是可能将其设置为较小的则串。要测试颜色,您可以运行 GNU 的msgcat. 尝试例如:

echo $TERM
msgcat --color=test
TERM=xterm-256color
msgcat --color=test
Run Code Online (Sandbox Code Playgroud)

或者使用@Ignacio Vazquez-Abrams的循环而不是 msgcat。

有关如何设置和设置内容的更多信息,请查看例如:


Ign*_*ams 6

停止使用转义码并改用setafterminfo 功能。

$ for i in $(seq 0 $(tput colors) ) ; do tput setaf $i ; echo -n "?" ; done ; tput setaf 15 ; echo
Run Code Online (Sandbox Code Playgroud)