LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 882|回复: 2

请教如何输出像服务启动一样的 [OK] 字样

[复制链接]
发表于 2009-3-12 14:55:14 | 显示全部楼层 |阅读模式
* Stopping mysql                                                    [ ok ]

像这样右对齐输出
发表于 2009-3-12 15:56:53 | 显示全部楼层
  1. printf "%-$((COLUMNS-4))s%s\n" '* Stopping mysql' '[ok]'
复制代码
通用些的话就写个函数好了...
  1. function aligned_info {
  2.     str="$1"
  3.     cmd="$2"
  4.     strlen=$(printf "$str" | wc -c)
  5.     remain=$((COLUMNS-strlen))
  6.     printf "%s" "$str"
  7.     eval "$cmd" &> /dev/null && resout='[ok]' || resout='[oops]'
  8.     printf "%${remain}s\n" "$resout"
  9. }
复制代码
调用么就...
  1. aligned_info '* Stopping mysql' '[i]<COMMAND>[/i]'
复制代码
没纠过虫,你自己refine吧,思路大概这样...当然,那些发行版怎么做的我没看过...我现在用的Unix-like都没那么嗲的启动外表...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-12 17:33:15 | 显示全部楼层
非常感谢,我试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表