shell的printf输出时包含空格问题

printf "%-30s:%-15s\n" report_selinux_enable $report_selinux_enable

printf "%-30s:%-15s\n" report_selinux_status $report_selinux_status

printf "%-30s:%-15s\n" report_os $report_os

printf "%-30s:%-15s\n" report_hostname $report_hostname

printf "%-30s:%-15s\n" report_kernel $report_kernel

printf "%-30s:%-15s\n" report_uptime $report_uptime

printf "%-30s:%-15s\n" report_date_time $report_date_time

输出:

report_selinux_enable :disabled

report_selinux_status :Disabled

report_os :GNU/Linux

report_hostname :centos.com

report_kernel :3.10.0-693.2.2.el7.x86_64

report_uptime :42

days :

report_date_time :2018-07-18-20-24-23

可以看出输出的在线天数(report_uptime)的值是42(本来是42 days),下面还有一行显示的有问题,把一行拆成了两行显示,是因为report_uptime的值中间有空格,所以被拆成两行

解决:printf语句后面的引用值要放在""中

printf "%-30s:%-15s\n" report_uptime "$report_uptime"

printf "%-30s:%-15s\n" "report_selinux_enable" "$report_selinux_enable"

printf "%-30s:%-15s\n" "report_selinux_status" "$report_selinux_status"

printf "%-30s:%-15s\n" "report_os" "$report_os"

printf "%-30s:%-15s\n" "report_hostname" "$report_hostname"

printf "%-30s:%-15s\n" "report_kernel" "$report_kernel"

printf "%-30s:%-15s\n" "report_uptime" "$report_uptime"

printf "%-30s:%-15s\n" "report_uptime" "$report_date_time"

report_selinux_enable :disabled

report_selinux_status :Disabled

report_os :GNU/Linux

report_hostname :centos.com

report_kernel :3.10.0-693.2.2.el7.x86_64

report_uptime :42 days

report_date_time :2018-07-18-20-27-40

喜欢的点点关注,点点赞。

对Java技术,架构技术感兴趣的同学,欢迎加QQ群585550789,一起学习,相互讨论。

群内已经有小伙伴将知识体系整理好(源码,笔记,PPT,学习视频),欢迎加群领取。

转载于:https://blog.51cto.com/14226273/2378872

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值