#printf命令,格式化输出语句
#用于格式化输出,是echo增强版,是C语言printf库函数的一个有限的变形,语法略有不同
#是由POSIX标准所定义,移植性比echo好
#printf不会像echo自动换行,所以要加
才可以换行,如下:
1 printf "this is a test " 2 printf "OK? "
#语法:printf format-string#格式控制字符串# [arguments#参数列表#]
#与C语言printf函数不同如下
# 1.printf命令不用加括号
# 2.format-string可以没有引号,但最好加上,单双引号均可
# 3.参数多余格式控制符(%)时,format-string可以重用,可以将所有参数全部替换
# 4.arguments使用空格分隔
#示例如下:
# format-string为双引号,输出结果 1 abc
1 printf "%d %s " 1 "abc"
# 单引号与双引号效果一样 ,输出结果 1 abc
1 printf '%d %s ' 1 "abc"
# 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
1 printf '%s ' aaa bbb 2 printf '%s %s %s ' a b c d e f g
#如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替。输出结果: 0
1 printf '%s and %d '
#如果以%d的格式显示字符串,会提示无效数字,此时默认值为0。输出结果: Hello 0
1 printf "The first program always prints %s %d " Hello Shell