当前位置: 首页 > 面试题库 >

如何将彩色文本输出到Linux终端?

葛宪
2023-03-14
问题内容

如何将彩色字符打印到支持它的Linux终端?

如何判断终端是否支持颜色代码?


问题答案:

您需要输出ANSI颜色代码。请注意,并非所有终端都支持此功能。如果不支持颜色序列,则会显示垃圾。

例:

 cout << "\033[1;31mbold red text\033[0m\n";

此处\033是ESC字符ASCII27。其后是[,然后是零个或多个数字,以分隔;,最后是字母m。数字描述从该点开始要切换到的颜色和格式。

前景色和背景色的代码为:

         foreground background
black        30         40
red          31         41
green        32         42
yellow       33         43
blue         34         44
magenta      35         45
cyan         36         46
white        37         47

此外,您可以使用以下这些:

reset             0  (everything back to normal)
bold/bright       1  (often a brighter shade of the same colour)
underline         4
inverse           7  (swap foreground and background colours)
bold/bright off  21
underline off    24
inverse off      27

请参阅Wikipedia上的表格,以获取其他不那么受支持的代码。

要确定您的终端是否支持颜色序列,请读取TERM环境变量的值。应该指定使用的特定终端类型(例如vt100gnome- terminalxtermscreen,…)。然后在terminfo数据库中查找;
检查colors功能



 类似资料:
  • 问题内容: 是否有与perl相当的python蟒蛇 可用python吗? 我知道解决方案; 我想要的是我应该能够为所有打印消息设置颜色,例如, 这里的“ function_print_something”是我的python函数,它将一些格式化的日志消息打印到屏幕上。 问题答案: 请问Python的termcolor模块呢?对于某些用途,这将是大致等效的。 一个特殊的要求是设置颜色,并可能设置其他终

  • 问题内容: 如何用Python将彩色文本输出到终端?表示实心块的最佳Unicode符号是什么? 问题答案: 我之所以做出回应,是因为我找到了一种在Windows上使用ANSI代码的方法,这样你就可以更改文本的颜色而无需任何内置模块: 进行此操作的行是,但是要确保如果此人不在Windows上,则不会引起错误,你可以使用以下脚本: 注意:尽管此选项与其他Windows选项具有相同的选项,但是Windo

  • 我正在尝试使用指定终端路径的外部工具(例如)将终端输出重定向到Eclipse控制台。当我运行这个工具时,它会在Eclipse外部打开终端。当我在Windows7中执行同样的操作时,将外部工具位置设置为,它在Eclipse控制台中运行。我想知道如何使终端(在Ubuntu14.04中)以同样的方式工作。

  • 问题内容: 我有。我希望在运行时在终端中显示ddrescue并将输出写入文件drclog。我尝试使用,但这使我在ddrescue中输入错误。 问题答案: 如果将其stdout / stderr重定向到管道时仍不更改其输出,则可以使用实用程序在终端上显示输出并将其保存到文件中: 如果确实如此,那么您可以尝试使用实用程序提供一个伪tty : 如果它直接写入终端,则可以用来捕获输出: 默认情况下,输出保

  • 问题内容: 如何在Python中将彩色文本输出到终端? 问题答案: 这在某种程度上取决于您所使用的平台。最常见的方法是打印ANSI转义序列。举一个简单的例子,这是Blender构建脚本中的一些python代码: 要使用这样的代码,您可以执行以下操作 或者,使用Python3.6 +: 这将在包括OS X,Linux和Windows的Unix上运行(前提是您使用ANSICON,或者在Windows

  • 问题内容: 我有一个程序可以将内容记录到。 这些日志条目具有关联的“日志级别”(调试,警告,信息等),我希望使用户能够根据日志级别对输出进行着色。 确定是否连接到具有彩色功能的终端的方法是什么?那我该如何用颜色输出文本呢? 我正在寻找仅涉及C或C ++调用的解决方案。我猜(或)可以缓解这种情况,但是我想避免使用它来将依赖关系降到最低。 问题答案: 最简单的检查方法可能是: 如果将您的标准输出发送到