shell颜色代码(ANSI控制码)

代码

# col.sh
# 颜色代码标识 03 可以替换为 E
# 多个 ANSI 控制码可同时使用,用分号(;)作为分隔符, 红底绿字闪烁:echo -e "E[32;41;05mtestE[0m"
echo "默认:黑色背景色(40),白色前景色(37),即:黑底白字"
echo
background_color=$"
字体背景颜色范围:40-49
40:黑色
41:红色
42:绿色
43:黄色
44:蓝色
45:紫色
46:天蓝
47:白色
示例代码如下:"
echo -e $background_color
echo -e "33[40;37m_黑底 白字 33[0m"
echo -e "33[41;37m_红底 白字 33[0m" 
echo -e "33[42;37m_绿底 白字 33[0m" 
echo -e "33[43;37m_黄底 白字 33[0m" 
echo -e "33[44;37m_蓝底 白字 33[0m" 
echo -e "33[45;37m_紫底 白字 33[0m" 
echo -e "33[46;37m_天蓝底白字 33[0m" 
echo -e "33[47;30m_白底 黑字 33[0m"

echo
foreground_color=$"
字体前景颜色范围:30-39
30:黑色
31:红色
32:绿色
33:黄色
34:蓝色
35:紫色
36:天蓝
37:白色
示例代码如下:"
echo -e $foreground_color
echo -e "33[47;30m_白底黑字 33[0m"
echo -e "33[31m_红色字 33[0m"
echo -e "33[32m_绿色字 33[0m" 
echo -e "33[33m_黄色字 33[0m" 
echo -e "33[34m_蓝色字 33[0m" 
echo -e "33[35m_紫色字 33[0m" 
echo -e "33[36m_天蓝字 33[0m" 
echo -e "33[37m_白色字 33[0m"

执行结果

总结(表格形式; E 标识符在 PS1 环境变量中不生效,只能用33)

前景(3开头) 背景(4开头) 颜色 ANSI控制码(结束标识E[0m) 30 40 0黑色 E[30mE[0m,E[40mE[0m 31 41 1红色 E[31mE[0m,E[41mE[0m 32 42 2绿色 E[32mE[0m,E[42mE[0m 33 43 3黄色 E[33mE[0m,E[43mE[0m 34 44 4蓝色 E[34mE[0m,E[44mE[0m 35 45 5紫色 E[35mE[0m,E[45mE[0m 36 46 6天蓝 E[36mE[0m,E[46mE[0m 37 47 7白色 E[37mE[0m,E[47mE[0m

ANSI 其它控制码

控制码 说明 33[0m 关闭所有属性,即属性结束标识 33[01m 设置高亮度,即字体加粗、文体强调 33[03m 设置倾斜 33[04m 下划线 33[05m 闪烁 33[07m 反显 33[08m 消隐 33[09m 文字中划线 33[3nm 设置前景色(0 ≤ n ≤ 7) 33[4nm 设置背景色(0 ≤ n ≤ 7) 33[nA 光标上移n行 33[nB 光标下移n行 33[nC 光标右移n行 33[nD 光标左移n行 33[y;xH 设置光标位置 33[2J 清屏 33[K 清除从光标到行尾的内容 33[s 保存光标位置 33[u 恢复光标位置 33[?25l 隐藏光标 33[?25h 显示光标
经验分享 程序员 微信小程序 职场和发展