1. #!/bin/bash
  2. # author: yonglong.wyl
  3. # data: 2021/06/04
  4. # 简单的Hello World例子
  5. printf "Hello, Shell\n"
  6. # %s 输出一个字符串
  7. # %d 输出整形数字
  8. # %c 输出一个字符
  9. # %f 以小数形式输出实数
  10. # %-10s 指定一个宽度为10个字符的,-表示左对齐,没有表示右对齐,任何字符都被显示
  11. 10个字符宽度内,不足以空格填充,超过也会讲内容全部显示出来
  12. # -4.2f 格式化为小数,.2指保留2为小数
  13. printf "%-10s %-8s %-4s\n" 姓名 姓名 体重kg
  14. printf "%-10s %-8s %-4.2f\n" 郭靖 66.1234
  15. printf "%-10s %-8s %-4.2f\n" 郭芙 47.9876
  16. # printf format-string [arguments...]
  17. # format-string:控制格式的字符串,可以用双引号、单引号、无引号 包裹
  18. # arguments:参数多余format-string个数时,采用format-string重用规则。无arguments参数时,%s用NULL代替,%d用0代替
  19. printf "%d %s\n" 1 "abca" # format-string:双引号
  20. printf '%d %s\n' 1 "abc" #format-string: 单引号
  21. printf %s abcdef # format-string: 无引号
  22. printf %s abc def # arguments数量超过 format-string数量,format-string规>则重用
  23. printf "%s\n" abc def
  24. printf "%s %s %s\n" a b c d e f g h i j
  25. printf "%s and %d \n"

printf 转义序列

  • \a 警告字符,通常为ASCII的BEL字符
  • \b 后退
  • \c 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式符控制下的字符中有效),任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
  • \f 换页
  • \n 换行
  • \r 回车
  • \t 水平制表符
  • \v 垂直制表符
  • \ 字面上的反斜杠
  • \ddd 表示八进制字符,仅在格式字符串中有效
  • \0ddd 八进制字符