📅  最后修改于: 2023-12-03 15:09:10.343000             🧑  作者: Mango
在 Shell/Bash 中,您可以使用控制字符来更改终端的颜色。这些字符通常被称为 ANSI 控制序列,因为它们最初是由美国国家标准协会(American National Standards Institute)定义的。
控制序列由转义字符(即 ASCII 编码为 27 的字符)后跟方括号和参数组成。控制序列的基本语法如下:
\e[<parameter>m
其中 \e
是转义字符,<parameter>
表示一组参数,m
是终止符号。
控制序列的参数决定了终端的文本颜色和背景颜色。以下是常见的参数列表:
0
:重置所有属性。1
:使字体加粗。3
:设置斜体字体(可能不受支持)。4
:下划线(下划线)。30
:黑色前景色。31
:红色前景色。32
:绿色前景色。33
:黄色前景色。34
:蓝色前景色。35
:紫色前景色。36
:青色前景色。37
:白色前景色。40
:黑色背景色。41
:红色背景色。42
:绿色背景色。43
:黄色背景色。44
:蓝色背景色。45
:紫色背景色。46
:青色背景色。47
:白色背景色。下面是使用控制序列更改文本颜色和背景颜色的一些示例:
将文本颜色设置为红色:
echo -e "\e[31mHello, World!\e[0m"
运行结果:
Hello, World!
将背景颜色设置为黄色:
echo -e "\e[43mHello, World!\e[0m"
运行结果:
Hello, World!
将文本颜色设置为蓝色且将背景颜色设置为绿色:
echo -e "\e[34;42mHello, World!\e[0m"
运行结果:
Hello, World!
如果要撤销文本或背景颜色,可以使用重置属性的参数 0
,如下所示:
echo -e "\e[31mHello, World!\e[0m"
以上就是在 Shell/Bash 中如何更改终端输出中的文本和背景颜色的介绍。控制序列有很多其他参数,您可以使用它们来更改字体样式、光标位置等。详细信息请参见 Bash/Korn shell 命令行提示如何玩转。