关于shell格式化输出

荒村归来 2015-05-11 11:42:30
问题描述:在AIX系统(unix)中,使用printf 格式化输出一个变量后,如果再用echo显示该变量,则会丢失格式输出中的空格,不知道为什么,望高手解答。

代码片段如下:

zt=123456789
printf "[%-12.12s]" ${zt}
输出 [123456789 ]

data=`printf "[%-12.12s]" ${zt}`

echo $data
输出 [123456789 ]
此处丢失了一个空格,空格数大于2的部分,全部丢失,比如5个空格,其显示还是2个空格


printf "%s" "${data}"
输出 [123456789 ]
此处又正常显示
...全文
2046 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑的路 2015-09-17
  • 打赏
  • 举报
回复
echo “$data” 用双引号试试

1,194

社区成员

发帖
与我相关
我的任务
社区描述
该论坛主要探讨IBM AIX平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
  • IBM AIX社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧