答案1
有多种方法可以做到这一点。
一种方法是使用tput
:
tput setab 4
将背景颜色设置为蓝色。要设置前景色,请使用tput setaf
。
另一种方法是使用原始 ANSI 转义,这里有一个很好的文档:https://misc.flogisoft.com/bash/tip_colors_and_formatting
答案2
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
了解更多详细信息。
答案3
使用xterm
类似的终端模拟器,您可以使用:
xtermcontrol --bg blue
(blue
或 所支持的任何颜色规格XParseColor(3x)
)。
这实际上发送了一个\33]11;blue\7
序列,因此您可以执行相同的操作:
printf '\33]11;%s\a' blue
看操作系统命令,位于 XTerm 控制序列文档中了解详情。