输出方式
小知识
echo
echo -e 可以控制字体颜色和背景颜色输出
示例
echo -e "\033[41;36m Hello world \033[0m"
[root@hadoop04 ~]# echo -e "\033[41;36m Hello world \033[0m"
Hello world
-e选项
开启反斜杠转义
\033
转义起始符,等价于\E和\e
前景色:也就是字体颜色
30:黑
31:红
32:绿
33:黄
34:蓝
35:紫
36:青
37:白
背景色
40:黑
41:红
42:绿
43:黄
44:绿
45:紫
46:青
47:白
m
m:转义终止符
\033[0m
\033[0m:恢复之前的配色
字体控制项
显示相关
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消影,隐藏 scanf 输入的字符
光标相关
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH 设置光标位置
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
其他
\033[2J 清屏
printf
格式化输出文本,使用printf可以指定字符串的宽度、实现左对齐(使用减符号-)、右对齐(默认的)、格式化小数输出等
注意
:
1.printf默认不在结尾加换行符,需要手动加“\n”换行
2.printf只是格式化输出,不会改变任何结果
3.在格式化浮点数的输出时,浮点数结果是不变的,仅仅只是改变了显示的结果。
示例
#!/bin/bash
#文件名:abc.sh
# 三个%分别对应后面的三个参数
printf "%-5s %-10s %-4s\n" No Name Mark
# 减号“-”表示左对齐
printf "%-5s %-10s %-4.2f\n" 1 Sarath 80.34
# 5表示第一个参数占用5个字符
printf "%-5s %-10s %-4.2f\n" 2 James 90.998
printf "%-5s %-10s %-4.2f\n" 3 Jeff 77.564