bash 是否有颜色命令,如 MS-Windows CMD 中所示?

use*_*548 7 linux bash

Microsoft 中有一个命令cmd,称为color. 我知道,在 中bash,有一些特殊字符可以让您在回声期间更改文本颜色。我也知道在 ubuntu 中你可以编辑终端的参数,在配置中设置一个“样式”,编辑它并在菜单下用鼠标应用它。

我要问的是,如果在 debian、ubuntu 和 centOS 下存在一些非常简单的东西,例如:

color 1b
Run Code Online (Sandbox Code Playgroud)

以便控制台从:

在此处输入图片说明

在此处输入图片说明

Pan*_*nki 8

有多种方法可以做到这一点。

一种方法是使用tput

tput setab 4将背景颜色设置为蓝色。要设置前景色,请使用tput setaf

另一种方法是使用原始 ANSI 转义,这里有一个很好的文档:https : //misc.flogisoft.com/bash/tip_colors_and_formatting

  • 也许值得注意的是,这些都与 bash 没有任何关系。转义序列、tput 等可以在任何 shell 中工作,而如果您使用的终端仿真器不支持颜色更改,则它们都不起作用。 (2认同)

GAD*_*D3R 5

setterm可以使用该命令:

setterm -background blue
Run Code Online (Sandbox Code Playgroud)

或者

setterm -ba blue
Run Code Online (Sandbox Code Playgroud)

这使用标准的 ECMA-48 控制序列,实际上可以与许多(但不是全部)终端仿真器一起使用。(与手册相反,它实际上并未将 terminfo 用于此选项。)ECMA-48 包括背景和前景的默认颜色的概念,您可以将其更改为default

setterm --background default
Run Code Online (Sandbox Code Playgroud)

要更改默认颜色,请添加--store选项(它发出的控制序列仅适用于 Linux 内核的内置终端模拟器):

setterm --background red --store
Run Code Online (Sandbox Code Playgroud)

查看man settermsetterm --help了解更多详情。