Shell脚本编程基础之shell脚本格式化输出printf

printf

可以让我们输出的结果更加整齐,可以按照一定的格式输出

[22:09:21 root@C8-3-55 ~]#type printf
printf 是 shell 内建
[22:14:46 root@C8-3-55 ~]#printf --help
printf: printf [-v var] 格式 [参数]
    在 FORMAT 的控制下格式化并打印 ARGUMENTS 参数。

    选项:
      -v var    将输出赋值给 shell 变量 VAR 而不显示在标准输出上

    FORMAT 是包含三种对象的字符串:简单地被拷贝到标准输出的普通字符;
    被变换之后拷贝到标准输入的转义字符;以及每个都会影响到下个参数的打印的格式化声明。

    在 printf(1) 中描述的标准控制声明之外,printf 解析:

      %b        扩展对应参数中的反斜杠转义序列
      %q        以可作为 shell 输入的格式引用参数
      %(fmt)T   以 FMT 为供给 strftime(3) 的格式输出日期时间字符串

    退出状态:
    返回成功,除非使用了无效的选项或者写或赋值错误发生。
[22:35:30 root@C8-3-55 ~]#echo 1 2 3 4 5
1 2 3 4 5
[22:35:47 root@C8-3-55 ~]#printf 1 2 3 4 5
1
[22:36:39 root@C8-3-55 ~]#printf "%s
" 1 2 3 4 5
1
2
3
4
5
[22:36:55 root@C8-3-55 ~]#printf "%f
" 1 2 3 4 5
1.000000
2.000000
3.000000
4.000000
5.000000

[22:38:05 root@C8-3-55 ~]#printf "%.2f
" 1 2 3 4 5
1.00
2.00
3.00
4.00
5.00

[22:38:16 root@C8-3-55 ~]#printf "[%s]" 1 2 3 4 5
[1][2][3][4][5]


[22:39:48 root@C8-3-55 ~]#printf "%s%s
" 1 2 3 4 5 6
12
34
56

[22:50:25 root@C8-3-55 ~]#VAP="Welcom to BreJing!";VAR="One Word One Dream!";printf "33[1;32m%s
 33[0m" "$VAP" "$VAR"
Welcom to BreJing!
 One Word One Dream!

* * * 胖并快乐着的死肥宅 * * *
原文地址:https://www.cnblogs.com/bpzblog/p/14536301.html