shell学习第四天----华丽的printf输出

printf命令模仿C程序库里的printf()库程序.几乎复制了该函数的所有功能,如同echo命令,printf命令可以输出简单的字符串:

printf  “hello world\n”

通过观察echo printf的输出的不同,可以发现echo会提供自动换行,printf不会提供自动换行,所以那些转移序列在printf 发挥的很好.

printf命令的完整语法分为两部分:

printf format-string [arguments....]

分析:printf是命令,不解释.format-string 为格式控制字符串,arguments 为参数列表。

printf命令不用加括号.

format-string可以没有引号,但是最好加上,单双引号均可

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

arguments:使用空格分割,不用逗号.

printf  “%d  ,   %s\n”   1   abc  这里输出的是1   ,  abc.有没有引号都可以.

 

如果没有arguments  %sNULL表示,%d0表示

例如 :printf “%s  ,  %d\n” 输出结果为   ,0

format-string的可重用性:printf “%s” abc def==>abcdef

如果以%d来显示字符串,会有警告,提示无效的数字,此时的默认值为0.例如:printf "%d\n" abc==>bash: printf: abc: invalid number             0;

既然shellprintfCprintf差不多,那么他们也都支持%.例如:printf  “%s\n” hello 输出hello换行.因为各种版本的liunx的各种版本对echo的移植性不好,所以引入了printf,printf可以说是echo的加强版,是由POSIX标准定义.

你可能感兴趣的:(shell)