user3450548 Asked: 2018-12-23 03:17:32 +0800 CST2018-12-23 03:17:32 +0800 CST 2018-12-23 03:17:32 +0800 CST bash 是否有颜色命令,如 MS-Windows CMD 中所示?[复制] 772 微软的 中有一个命令cmd,叫做color. 我知道,在 中bash,有一些特殊字符允许您在回声期间更改文本颜色。我也知道,在 ubuntu 中,您可以编辑终端的参数,在配置中设置“样式”,编辑它并在菜单下用鼠标应用它。 我要问的是,如果在 debian、ubuntu 和 centOS 下存在非常简单的东西,比如: color 1b 使控制台从: 至 linux bash 3 个回答 Voted Best Answer Panki 2018-12-23T03:59:20+08:002018-12-23T03:59:20+08:00 有多种方法可以做到这一点。 一种方法是使用tput: tput setab 4将背景颜色设置为蓝色。要设置前景色,请使用tput setaf. 另一种方法是使用原始 ANSI 转义,这是一个很好的文档:https ://misc.flogisoft.com/bash/tip_colors_and_formatting GAD3R 2018-12-23T06:04:28+08:002018-12-23T06:04:28+08:00 setterm可以使用该命令: setterm -background blue 或者 setterm -ba blue 这使用标准的 ECMA-48 控制序列,并且实际上可以与许多(但不是全部)终端仿真器一起使用。(与手册相反,它实际上并没有使用 terminfo 进行此选项。)ECMA-48 包括背景和前景的默认颜色default的概念,可以通过以下方式更改为: setterm --background default 要更改默认颜色,请添加--store选项(它会发出一个仅适用于 Linux 内核的内置终端仿真器的控制序列): setterm --background red --store 请参阅man setterm和setterm --help了解更多详情。 Stéphane Chazelas 2018-12-23T10:15:23+08:002018-12-23T10:15:23+08:00 使用xterm-like 终端仿真器,您可以使用: xtermcontrol --bg blue (blue或任何支持的颜色规范XParseColor(3x))。 这实际上发送了一个\33]11;blue\7序列,所以你可以这样做: printf '\33]11;%s\a' blue 有关详细信息,请参阅XTerm 控制序列文档中的操作系统命令。
有多种方法可以做到这一点。
一种方法是使用
tput
:tput setab 4
将背景颜色设置为蓝色。要设置前景色,请使用tput setaf
.另一种方法是使用原始 ANSI 转义,这是一个很好的文档:https ://misc.flogisoft.com/bash/tip_colors_and_formatting
setterm
可以使用该命令:或者
这使用标准的 ECMA-48 控制序列,并且实际上可以与许多(但不是全部)终端仿真器一起使用。(与手册相反,它实际上并没有使用 terminfo 进行此选项。)ECMA-48 包括背景和前景的默认颜色
default
的概念,可以通过以下方式更改为:要更改默认颜色,请添加
--store
选项(它会发出一个仅适用于 Linux 内核的内置终端仿真器的控制序列):请参阅
man setterm
和setterm --help
了解更多详情。使用
xterm
-like 终端仿真器,您可以使用:(
blue
或任何支持的颜色规范XParseColor(3x)
)。这实际上发送了一个
\33]11;blue\7
序列,所以你可以这样做:有关详细信息,请参阅XTerm 控制序列文档中的操作系统命令。