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

猜你喜欢

转载自www.cnblogs.com/ElegantSmile/p/12014923.html
今日推荐