shell printf命令简介
printf 命令模仿 C 程序库(library)里的 printf() 程序。printf 由 POSIX 标准所定
义,因此使用 printf 的脚本比使用 echo 移植性好。printf 使用引用文本或空格分隔的
参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方
式等。默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n
格式
printf format-string [arguments...]
例:
printf "hello shell\n"
printf "%-10s" read $1
printf "%-10s %-8s %-4.2f\n" LZS cool 48.6543
读取输入的一个参数并打印成字符串
%-10s 指一个宽度为 10 个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示 在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。 %-4.2f 指格式化为小数,其中.2 指保留 2 位小数
printf的转义序列
1.\a—警告字符,通常为ASCII的BEL字符
2.\b—后退
3.\c—抑制(不显示)输出结果中任何结尾的换行字符(只在%b 格式指示符控制下的
参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任
何留在格式字符串中的字符,都被忽略
4.\f—换页
5.\n—换行
6.\r—回车
7.\t水平制表符
8.\v垂直制表符
9.\一个字面上的反斜杠字符
10.\ddd表示1到3位数的八进制字符,仅在格式字符串中有效
11.\0ddd表示1到3位的八进制字符