简介¶
我们在日常工作中下载别人编写的bash脚本时,有时会发现一些关键字符串被用特殊颜色标记了。那么在编写脚本时如何实现这种效果呢?
字体颜色¶
| 颜色代码 | 描述 |
|---|---|
| 30 | 黑色 |
| 31 | 红色 |
| 32 | 绿色 |
| 33 | 黄色 |
| 34 | 蓝色 |
| 35 | 紫色 |
| 36 | 深绿色 |
| 37 | 白色 |
字体背景色¶
| 背景颜色代码 | 描述 |
|---|---|
| 40 | 黑色 |
| 41 | 绯红色 |
| 42 | 绿色 |
| 43 | 黄色 |
| 44 | 蓝色 |
| 45 | 紫色 |
| 46 | 深绿色 |
| 47 | 白色 |
显示模式¶
| 代码 | 描述 |
|---|---|
| 0 | 终端默认设置 |
| 1 | 高亮 |
| 4 | 下划线 |
| 5 | 光标闪烁 |
| 7 | 反显 |
| 8 | 隐藏 |
执行模式¶
-
\033[1;31;40m "1" 表示显示模式,可选。 "31" 表示字体颜色。 "40m" 表示字体背景颜色
-
\033[0m 恢复终端默认颜色,即取消颜色设置
脚本示例¶
我们可以编写一个脚本来观察颜色的变化。
#!/bin/bash
# Font color cycle
for color1 in {31..37}
do
echo -e "\033[0;${color1};40m---hello! world---\033[0m"
done
echo "-------"
# Background color cycle
for color2 in {40..47}
do
echo -e "\033[30;${color2}m---hello! world---\033[0m"
done
echo "-------"
# Cycle of display mode
for color3 in 0 1 4 5 7 8
do
echo -e "\033[${color3};37;40m---hello! world---\033[0m"
done
Shell > chmod a+x color_set.sh
Shell > ./color_set.sh
效果如下

作者:李天赐
贡献者:Steven Spencer