内容一:echo 的命令选项
1) -n 输出不换行
2) -e 处理某些特殊字符
\a 蜂鸣声报警
\b 删除前面一个字符
\c 在末尾不换行
\e 转义起始符
\033 转义起始符
\x1B 转义起始符
\f 换行,同时光标停在原处
\n 换行
\r 不换行,同时光标停在原处
\t tab,水平方向
\v tab,垂直方向
\ 输出 \
\Onnn 输出八进制 ASCII 字符
\xHH 输出十六进制 ASCII 字符
3) -E 不再转义
内容二:echo 的显示选项
1) \033[0m 将所有显示属性关闭
2) \033[1m 变粗/高亮
3) \033[2m 变暗
4) \033[4m 下划线
5) \033[5m 闪烁
6) \033[7m 反显
7) \033[8m 消隐
8) \033[37m<word>\33[0m 设置字体颜色,这里以将字体颜色设置为白色为例
9) \033[40m<word>\33[0m 设置背景颜色,这里以将背景颜色设置为白色为例
10) \033[<n>A 将光标向上移 n 行
11) \033[<n>B 将光标向下移 n 行
12) \033[<n>C 将光标向右移 n 行
13) \033[<n>D 将光标向左移 n 行
14) \033[;H 将光标跳转到 x 和 y 位置
15) \033[2J 清屏
16) \033[K 将光标所在位置到行尾的所有位置全部清除
17) \033[s 将光标位置保存
18) \033[u 将光标位置恢复
19) \033[?25l 将光标隐藏
20) \033[?25h 将光标显示
(
补充:
1) 这里的 \033 代表转义起始符,转移起始符可以是 \e 或者 \033 或者 \x1B,所以这里的 \033 可以用另外 2 个符号替代
2) 这里的 m 代表转义终止符,所有转义在这里结束,如果要使用多个显示选项,可以在最后 1 个显示选项后面添加 m
)
内容三:echo 转换输出结果颜色的案例
3.1 显示不同颜色的显示选项案例
3.1.1 显示不同颜色文字的显示选项案例
序号 | 文字颜色 | 显示选项 |
1 | 默认色 | \033[39m |
2 | 黑色 | \033[30m |
3 | 红色 | \033[31m |
4 | 绿色 | \033[32m |
5 | 黄色 | \033[33m |
6 | 蓝色 | \033[34m |
7 | 品红色 | \033[35m |
8 | 青色 | \033[36m |
9 | 浅灰色 | \033[37m |
10 | 深灰色 | \033[90m |
11 | 淡红色 | \033[91m |
12 | 浅绿色 | \033[92m |
13 | 浅黄色 | \033[93m |
14 | 浅蓝色 | \033[94m |
15 | 浅品红色 | \033[95m |
16 | 浅青绿色 | \033[96m |
17 | 白色 | \033[97m |
3.1.2 显示不同颜色背景的显示选项案例
序号 | 背景颜色 | 显示选项 |
1 | 默认色 | \033[49m |
2 | 黑色 | \033[40m |
3 | 红色 | \033[41m |
4 | 绿色 | \033[42m |
5 | 黄色 | \033[43m |
6 | 蓝色 | \033[44m |
7 | 品红色 | \033[45m |
8 | 青色 | \033[46m |
9 | 浅灰色 | \033[47m |
10 | 深灰色 | \033[100m |
11 | 浅红色 | \033[101m |
12 | 浅绿色 | \033[102m |
13 | 浅黄色 | \033[103m |
14 | 浅蓝色 | \033[104m |
15 | 浅洋红色 | \033[105m |
16 | 浅青色 | \033[106m |
17 | 白色 | \033[107m |
3.2 显示不同颜色字体的案例
# echo -e "\033[30m black characters \033[0m"
# echo -e "\033[31m red characters \033[0m"
# echo -e "\033[32m green characters \033[0m"
# echo -e "\033[33m yellow characters \033[0m"
# echo -e "\033[34m blue characters \033[0m"
# echo -e "\033[35m purple character \033[0m"
# echo -e "\033[36m sky blue character \033[0m"
# echo -e "\033[37m white character \033[0m"
(
补充:
1) 这里的 \033 代表转义起始符,转移起始符可以是 \e 或者 \033 或者 \x1B,所以这里的 \033 可以用另外 2 个符号替代
2) 这里的 [ 代表开始定义颜色
3) 这里的 m 代表转义终止符,所有转义在这里结束
4) 这里的 \e[0m 代表将所有显示属性关闭,也就是回归默认值,建议每次 echo 命令后面都添加
)
3.3 显示不同颜色背景的案例
# echo -e "\033[40;m black background \033[0m"
# echo -e "\033[41;m red background \033[0m"
# echo -e "\033[42;m green background \033[0m"
# echo -e "\033[43;m yellow background \033[0m"
# echo -e "\033[44;m blue background \033[0m"
# echo -e "\033[45;m purple background \033[0m"
# echo -e "\033[46;m sky blue background \033[0m"
# echo -e "\033[107;m white background \033[0m"
(
补充:
1) 这里的 \033 代表转义起始符,转移起始符可以是 \e 或者 \033 或者 \x1B,所以这里的 \033 可以用另外 2 个符号替代
2) 这里的 [ 代表开始定义颜色
3) 这里的 m 代表转义终止符,所有转义在这里结束
4) 这里的 \e[0m 代表将所有显示属性关闭,也就是回归默认值,建议每次 echo 命令后面都添加
)
3.4 显示不同颜色字体和不同颜色背景的案例
# echo -e "\033[40;37m white characters on black background \033[0m"
# echo -e "\033[41;37m white characters on red background \033[0m"
# echo -e "\033[42;37m white characters on green background \033[0m"
# echo -e "\033[43;37m white characters on yellow background \033[0m"
# echo -e "\033[44;37m white characters on blue background \033[0m"
# echo -e "\033[45;37m white characters on purple background \033[0m"
# echo -e "\033[46;37m white characters on sky blue background \033[0m"
# echo -e "\033[47;30m black characters on white background \033[0m"
(
补充:
1) 这里的 \033 代表转义起始符,转移起始符可以是 \e 或者 \033 或者 \x1B,所以这里的 \033 可以用另外 2 个符号替代
2) 这里的 [ 代表开始定义颜色
3) 这里的 m 代表转义终止符,所有转义在这里结束
4) 这里的 \e[0m 代表将所有显示属性关闭,也就是回归默认值,建议每次 echo 命令后面都添加
)
内容四:echo 转换输出结果结构的案例
4.1 案例一:不换行带 tab 输出
# for month in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec;do echo -e "$month\t\c";done
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
(补充:这里以不换行带 tab 输出 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 为例)
4.2 案例二:先清屏再不换行输出
# echo -e "\033[2J\033[10A\Eternal Center\c \e[0m "
(补充:这里以先清屏再不换行输出 Eternal Center 为例)
(
补充:
1) 这里的 \033 代表转义起始符,转移起始符可以是 \e 或者 \033 或者 \x1B,所以这里的 \033 可以用另外 2 个符号替代
2) 这里的 [ 代表开始定义颜色
3) 这里的 m 代表转义终止符,所有转义在这里结束
4) 这里的 \e[0m 代表将所有显示属性关闭,也就是回归默认值,建议每次 echo 命令后面都添加
)