printf 与 echo 类似,是格式化输出的命令。
用法
printf FORMAT [ARGUMENT]...
printf OPTION
选项
-v VAR 将输出分配给 shell 变量 VAR 而不是在标准输出上显示。
--help 展示帮助文档并退出。
--version 展示版本信息并退出。
FORMAT 以 C语言的 printf 格式控制输出。格式字符如下:
\" 双引号。
\\ 反斜杠。
\a 响铃。
\b 退格。
\c 取消后续输出。
\e 向右删除一个字符。
\f 换页。
\n 换行。
\r 回车。
\t 水平制表。
\v 垂直制表。
\NNN 八进制数 NNN 所代表的 ASCII 码字符。
\xHH 十六进制 HH 对应的8位字符。HH 可以是一到两位。
\uHHHH 十六进制 HHHH 对应的 Unicode 字符。HHHH 一到四位。
\UHHHHHHHH十六进制 HHHHHHHH 对应的 Unicode 字符。HHHHHHHH 一到八位。
%% 百分号。
%b 在相应的参数中展开反斜杠转义序列。
%q 以可重用为 shell 输入的方式引用参数。
%(fmt)T 输出使用 FMT 作为 strftime 的格式字符串产生的日期时间字符串。
以及所有以 diouxXfeEgGcs 之一结尾的 C 格式规范,首先将 ARGUMENT 转换为正确的类型。可变宽度可调节。
使用示例:
[root@server ~]# printf "%o\n" 370
562
[root@server ~]# printf "%x\n" 370
172
[root@server ~]# printf "%X\n" 370
172
[root@server ~]# printf "%d\n" 370
370
[root@server ~]# printf "%#o\n" 370
0562
[root@server ~]# printf "%#x\n" 370
0x172
[root@server ~]# printf "%#X\n" 370
0X172
[root@server ~]# printf "%05d\n" 370
00370
[root@server ~]# printf "%05.5f\n" 370
370.00000
[root@server ~]# printf "%5.5f\n" 370
370.00000
[root@server ~]# printf "%010.5f\n" 370
0370.00000
[root@server ~]# printf "%10.5f\n" 370
370.00000
[root@server ~]# printf "%+d\n" 370
+370
[root@server ~]# printf "%-d\n" 370
370
颜色输出:与echo类似
printf "\033[背景颜色;文字颜色;显示方式m格式\033[0m" 字符串
或 printf "\e[背景颜色;文字颜色;显示方式m格式\e[0m" 字符串
颜色组合显示效果请参考 echo命令:linux 命令:echo 详解_yspg_217的博客-CSDN博客