printf 命令 – shell 输出

printf 命令模仿 C 程序库(library)里的 printf() 程序。

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

语法格式: printf [格式控制字符串] [参数]

常用参数

\a 警告字符,通常为ASCII的BEL字符
\n 换行
\r 回车
\0ddd 表示1到3位的八进制值字符
\ddd 表示1到3位数八进制值的字符。仅在格式字符串中有效

参考实例

字符串输出:

[root@xtuos.com ~]# printf "Hello, Shell\n"
Hello, Shell 

接下来,我来用一个脚本来体现printf的强大功能:

[root@xtuos.com ~]#
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 

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

[root@xtuos.com ~]#
姓名     性别   体重kg
郭靖     男      66.12
杨过     男      48.65
郭芙     女      47.99 

%s %c %d %f都是格式替代符

%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中.2指保留2位小数。

格式控制字符串为双引号:

[root@xtuos.com ~]# printf "%d %s\n" 1 "abc" 

格式控制字符串为单引号:

[root@xtuos.com ~]# printf '%d %s\n' 1 "abc"  

没有引号也可以输出:

[root@xtuos.com ~]# printf %s abcdef 

原创文章,作者:云东方,如若转载,请注明出处:https://www.yundongfang.com/1498.html

(0)
上一篇 2021年3月18日 下午6:32
下一篇 2021年3月18日 下午6:38

相关推荐

  • sshpass命令 – 用于非交互的ssh 密码验证

    sshpass命令用于非交互的 ssh 密码验证。可以在命令行直接使用密码来进行远程连接和远程拉取文件。使用前提:对于未连接过的主机。而又不输入yes进行确认,需要进行sshd服务…

    Linux命令 2021年3月18日
  • vgscan命令 – 扫描并显示卷组

    vgscan命令查找系统中存在的LVM卷组,并显示找到的卷组列表。vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令。 语…

    Linux命令 2021年3月18日
  • vgs命令 – 报告关于卷组的信息

    vgs命令的作用是可以报告显示关于卷组的信息。 通常一个分区或者一个硬盘就可以建立一个物理卷,将多个物理卷组合到一起,成为一个卷组。 语法格式: vgs [参数] [卷组名] 常用…

    Linux命令 2021年3月19日
  • auvirt命令 – 显示与虚拟机相关的数据

    auvirt命令显示在审核日志中发现的访客会话列表。如果指定了访客,则仅考虑与该访客相关的事件。若要指定访客,可以同时提供 UUID 或 VM 名称。 对于每个访客会话,该工具将打…

    Linux命令 2021年3月18日
  • fsck命令 – 检查并修复Linux文件系统

    fsck命令的英文全称是“filesystem check”,即检查文件系统的意思,常用于检查并修复Linux文件系统的一些错误信息,操作文件系统需要先备份重要数据,以防丢失。 L…

    Linux命令 2021年3月19日
  • mount命令 – 文件系统挂载

    mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Li…

    Linux命令 2021年3月18日
  • talk命令 – 用于与其他使用者对谈

    talk命令允许同一主机或不同主机上的两个用户进行交互式对话。talk命令在每个用户的显示器上打开发送窗口和接收窗口。这样每个用户在talk命令显示另一个用户正在输入的内容时能够在…

    Linux命令 2021年3月19日
  • iptraf-ng命令 – 交互式彩色IP LAN监视器

    iptraf-ng命令是一个基于ncurses的IP LAN监视器,可生成各种网络统计信息,包括TCP信息,UDP计数,ICMP和OSPF信息,以太网负载信息,节点统计信息,IP校…

    Linux命令 2021年3月19日
  • sendmail命令 – 电子邮件传送代理

    sendmail命令是一款著名的电子邮件传送代理程序,也就是平常所说的电子邮件服务器,它基于标准的简单邮件传送协议(SMTP)。 sendmail仅负责邮件的投递工作,不负责邮件的…

    Linux命令 2021年3月19日
  • lpr命令 – 将文件放入打印队列等待打印

    lpr命令用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机。 语法格式:lpr [参数] 常用参数: -E 与打印服务器连接时强制使用加密 -H 指定可选…

    Linux命令 2021年3月19日