Shell学习——Shell printf命令

文章目录

printf命令

printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n。

printf 命令的语法:

printf  format-string  [arguments...]

参数说明:
format-string: 一个格式字符串,它包含普通文本和格式说明符。
arguments: 用于填充格式说明符的参数列表。。

格式说明符由 % 字符开始,后跟一个或多个字符,用于指定输出的格式。常用的格式说明符包括:

%s:字符串
%d:十进制整数
%f:浮点数
%c:字符
%x:十六进制数
%o:八进制数
%b:二进制数
%e:科学计数法表示的浮点数
#!/bin/bash
 
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg  
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876

执行脚本,输出结果如下所示:

姓名     性别   体重kg
郭靖     男      66.12
杨过     男      48.65
郭芙     女      47.99
#!/bin/bash
 
# format-string为双引号
printf "%d %s\n" 1 "abc"

# 单引号与双引号效果一样
printf '%d %s\n' 1 "abc"

# 没有引号也可以输出
printf %s abcdef

# 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
printf %s abc def

printf "%s\n" abc def

printf "%s %s %s\n" a b c d e f g h i j

# 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替
printf "%s and %d \n"

执行脚本,输出结果如下所示:

1 abc
1 abc
abcdefabcdefabc
def
a b c
d e f
g h i
j  
 and 0

相关推荐

  1. Shell学习——Shell printf命令

    2024-07-10 20:50:05       26 阅读
  2. Shell命令和基础学习

    2024-07-10 20:50:05       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 20:50:05       100 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 20:50:05       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 20:50:05       90 阅读
  4. Python语言-面向对象

    2024-07-10 20:50:05       98 阅读

热门阅读

  1. Linux实现CPU物理隔离

    2024-07-10 20:50:05       25 阅读
  2. Redis 中的跳表(Skip List)

    2024-07-10 20:50:05       30 阅读
  3. 路由器是什么?

    2024-07-10 20:50:05       26 阅读
  4. redis实现延时队列

    2024-07-10 20:50:05       28 阅读
  5. Shell选择结构

    2024-07-10 20:50:05       32 阅读
  6. Poincaré图和SD2计算参考

    2024-07-10 20:50:05       27 阅读
  7. C#控件总结

    2024-07-10 20:50:05       25 阅读
  8. STM32(一):安装环境

    2024-07-10 20:50:05       24 阅读
  9. 数据中台真的适合你的企业吗?

    2024-07-10 20:50:05       29 阅读