终端颜色
带颜色的脚本
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,
和具体的语言无关,shell,python,perl等均可以调用。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作
(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。
语法
1
\033[显示方式;前景色;背景色m
默认
1
\033[0m
python中调用
1
print("\033[1;31;40m{}\033[0m".format(" 输出红色字符"))
颜色
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17echo -e "\033[0;30m 前景:黑 \033[0;39m"
echo -e "\033[0;31m 前景:红 \033[0;39m"
echo -e "\033[0;32m 前景:绿 \033[0;39m"
echo -e "\033[0;33m 前景:棕 \033[0;39m"
echo -e "\033[0;34m 前景:蓝 \033[0;39m"
echo -e "\033[0;35m 前景:紫 \033[0;39m"
echo -e "\033[0;36m 前景:青 \033[0;39m"
echo -e "\033[0;37m 前景:白 \033[0;39m"
echo -e "\033[0;40m 背景:黑 \033[0;39m"
echo -e "\033[0;41m 背景:红 \033[0;39m"
echo -e "\033[0;42m 背景:绿 \033[0;39m"
echo -e "\033[0;43m 背景:棕 \033[0;39m"
echo -e "\033[0;44m 背景:蓝 \033[0;39m"
echo -e "\033[0;45m 背景:紫 \033[0;39m"
echo -e "\033[0;46m 背景:青 \033[0;39m"
echo -e "\033[0;47m 背景:白 \033[0;39m"
echo -e "\033[0;49m 背景:黑 \033[0;39m"
1 | for i in `seq 16 255` |
- 例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29echo -e "\033[44;37;5m Hello \033[0m World"
# e:是命令echo的一个可选项,用于激活特殊字符的解析器.
# \033:引导非常规字符序列
# 44:前景
# 37:背景
# 5:显示方式
# m:设置属性
# \033[0m:重新设置属性到默认值
```
#### 打印棋盘
```bash
for((i=1;i<=8;i++))
do
for((j=1;j<=8;j++))
do
total=$(($i + $j))
tmp=$(($total % 2))
if [ "$tmp" -eq 0 ]
then
echo -e -n "\033[37m \033[0m"
else
echo -e -n "\033[47m \033[0m"
fi
done
echo ""
done