01Shell入门02-echo和printf

输出方式

小知识

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
posted on 2019-12-10 09:56  D小调的微笑  阅读(162)  评论(0编辑  收藏  举报