简介¶
当我们在日常工作中下载别人编写的 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
# 字体颜色循环
for color1 in {31..37}
    do
        echo -e "\033[0;${color1};40m---hello! world---\033[0m"
    done
echo "-------"
# 背景颜色循环
for color2 in {40..47}
    do
        echo -e "\033[30;${color2}m---hello! world---\033[0m"
    done
echo "-------"
# 显示模式的循环
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
其效果如下:

Author: tianci li
Contributors: Steven Spencer