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,學習視頻),歡迎加群領取。
shell的printf輸出時包含空格問題