问题:跑shell脚本时,想增加高亮输出
第一种设置方法:
颜色字号表
显示方式 | 意义 |
---|---|
0 | 终端默认设置 |
1 | 高亮显示 |
4 | 使用下划线 |
5 | 闪烁 |
7 | 反白显示 |
8 | 不可见 |
前景色 | 背景色 | 颜色 |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黃色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
vim echo.sh
#!/bin/bash
# 定义颜色动作, 把echo -e也定义到变量中
RED="echo -en \E[4;31m"
GREEN="echo -en \E[7;32m"
YELLOW="echo -en \E[5;33m"
RESET="echo -en \E[0;39m"
# 使用时直接调用颜色动作即可
$RED && echo 红色 && $RESET
$GREEN && echo 绿色 && $RESET
$YELLOW && echo 黄色 && $RESET
$RESET && echo 重置 && $RESET
注释:
- 需要增加
-n
选项,这样引用时不会出现换行的问题。 \
本质是,在双引号中反斜线符号一定要写成
\
。- 引用变量要放到其他语句前面,并使用
&&
连接。
效果图:
第二种设置方法:
put 命令会利用 terminfo 数据库中的信息,来控制和更改我们的终端,比如控制光标、更改文本属性、控制屏幕,以及为文本涂色。
其中,为文本涂色的方法是:
- tput setab:用于设置背景色;
- tput setaf:用于设置前景色。
颜色字号定义
数值 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
颜色 | 黑色 | 红色 | 绿色 | 黄色 | 蓝色 | 洋红色 | 黄色 | 白色 |
vim echo1.sh
#/bin/bash
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
RESET=$(tput sgr0)
echo "${RED}red ${RESET}"
echo "${GREEN}green ${RESET}"
效果图: