shell输出之printf

Shell中,除了常用的echo输出命令之外,还有一个printf命令。

Printf命令可以说是echo的加强版,用于格式化输出。Printf的移值性要比echo好。

和echo命令一样,printf命令可以用于输出简单的字符串。如:

#/bin/bash
printf "Hello shell!"

运行结果:

Hello shell!

printf命令默认是不自动换行的。要换行需要使用"\n"转义字符。

printf的标准语法:

printf format-string [arg...]

format-string为输出格式控制符,arg为参数列表。

printf()使用的C语言的printf很相似,关于C中的有关功能这里不再描述,只讨论两者的不同之处。

shell中:

printf不需要括号

format-string字段可以不加引号,但最好加上,单引号双引号均可。

参数多于格式控制符(%)时,format-string 可以重用,可以将所有参数都转换。

参数arg用空格分开,不用逗号。

printf格式控制符

%b          相对应的参数被视为含有要被处理的转义序列之字符串。

%c           ASCII字符。显示相对应参数的第一个字符

%d, %i    十进制整数

%e          浮点格式

%E          浮点格式

%f           浮点格式

%g          %e%f转换,看哪一个较短,则删除结尾的零

%G          %E%f转换,看哪一个较短,则删除结尾的零

%o           不带正负号的八进制值

%s           字符串

%u          不带正负号的十进制值

%x          不带正负号的十六进制值,使用af表示1015

%X          不带正负号的十六进制值,使用AF表示1015

%%         字面意义的%

0 条评论
发表一条评论