ANSI转义序列是一种在终端中控制外观和行为的方法,包括设置文本颜色、光标位置、清除屏幕等操作。开发人员可以使用这些序列创建具有各种视觉效果和交互功能的终端应用程序。
字体颜色控制
echo -e "<格式化代码> 输出内容"
# 示例
echo -e "\e[32m 输出绿色文本"
其中,格式化代码
控制字体颜色的如下:
字体颜色
\e[30m
黑色\e[31m
红色\e[32m
绿色\e[33m
黄色\e[34m
蓝色\e[35m
粉红\e[36m
青色\e[37m
白色
字体颜色(亮色)
\e[90m
黑色\e[91m
红色\e[92m
绿色\e[93m
黄色\e[94m
蓝色\e[95m
粉红\e[96m
青色\e[97m
白色
背景色
\e[40m
黑色\e[41m
红色\e[42m
绿色\e[43m
黄色\e[44m
蓝色\e[45m
粉红\e[46m
青色\e[47m
白色
其他常用控制代码
\e[0m
关闭所有属性\e[1m
设置高亮度\e[4m
下划线\e[5m
闪烁\e[7m
反显,撞色显示,显示为白字黑底,或者显示为黑底白字\e[8m
消影,字符颜色将会与背景颜色相同\e[nA
光标上移 n 行\e[nB
光标下移 n 行\e[nC
光标右移 n 行\e[nD
光标左移 n 行\e[y;xH
设置光标位置\e[2J
清屏\e[K
清除从光标到行尾的内容\e[s
保存光标位置\e[u
恢复光标位置\e[?25
隐藏光标\e[?25h
显示光标
BASH变量预设
这里附上BASH
的预设变量
#!/bin/bash
# 颜色变量
TEXT_BLACK='\e[30m' # 黑
TEXT_RED='\e[31m' # 红
TEXT_GREEN='\e[32m' # 绿
TEXT_YELLOW='\e[33m' # 黄
TEXT_BLUE='\e[34m' # 蓝
TEXT_PINK='\e[35m' # 粉红
TEXT_CYAN='\e[36m' # 青色
TEXT_WHITE='\e[37m' # 白色
# 暗色系
TEXT_LIGHT_BLACK='\e[90m' # 黑
TEXT_LIGHT_RED='\e[91m' # 红
TEXT_LIGHT_GREEN='\e[92m' # 绿
TEXT_LIGHT_YELLOW='\e[93m' # 黄
TEXT_LIGHT_BLUE='\e[94m' # 蓝
TEXT_LIGHT_PINK='\e[95m' # 粉红
TEXT_LIGHT_CYAN='\e[96m' # 青色
TEXT_LIGHT_WHITE='\e[97m' # 白色
# 背景
BG_BLACK='\e[1;40m' # 黑
BG_RED='\e[1;41m' # 红
BG_GREEN='\e[1;42m' # 绿
BG_YELLOW='\e[1;43m' # 黄
BG_BLUE='\e[1;44m' # 蓝
BG_PINK='\e[1;45m' # 粉红
BG_CYAN='\e[1;46m' # 青色
BG_WHITE='\e[1;47m' # 白色
RES='\e[0m' # 清除格式
# 使用示例
echo -e $RES"-- 字体颜色 --"
echo -e $TEXT_BLACK"黑色"$RES
echo -e $TEXT_RED"红色"$RES
echo -e $TEXT_GREEN"绿色"$RES
echo -e $TEXT_YELLOW"黄色"$RES
echo -e $TEXT_BLUE"蓝色"$RES
echo -e $TEXT_PINK"粉红"$RES
echo -e $TEXT_CYAN"青色"$RES
echo -e $TEXT_WHITE"白色"$RES
echo
echo -e $RES"-- 更明亮 --"
echo -e $TEXT_LIGHT_BLACK"黑色"$RES
echo -e $TEXT_LIGHT_RED"红色"$RES
echo -e $TEXT_LIGHT_GREEN"绿色"$RES
echo -e $TEXT_LIGHT_YELLOW"黄色"$RES
echo -e $TEXT_LIGHT_BLUE"蓝色"$RES
echo -e $TEXT_LIGHT_PINK"粉红"$RES
echo -e $TEXT_LIGHT_CYAN"青色"$RES
echo -e $TEXT_LIGHT_WHITE"白色"$RES
echo
echo -e $RES"-- 背景色 --"
echo -e $BG_BLACK"黑色"$RES
echo -e $BG_RED"红色"$RES
echo -e $BG_GREEN"绿色"$RES
echo -e $BG_YELLOW"黄色"$RES
echo -e $BG_BLUE"蓝色"$RES
echo -e $BG_PINK"粉红"$RES
echo -e $BG_CYAN"青色"$RES
echo -e $BG_WHITE"白色"$RES