Chinaunix首页 | 论坛 | 博客
  • 博客访问: 844853
  • 博文数量: 63
  • 博客积分: 1317
  • 博客等级: 中尉
  • 技术积分: 686
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-30 22:07
文章分类

全部博文(63)

文章存档

2015年(4)

2014年(1)

2013年(1)

2012年(2)

2011年(54)

2010年(1)

我的朋友

分类: Python/Ruby

2011-05-25 19:04:12

今天在写脚本的时候发现wc命令在ksh和bash下的输出有一些小小的差异,具体请看示例:

在ksh下执行:
#
# ps -ef|wc -l
      49
#

在bash下执行同样的代码:
#
# ps -ef|wc -l
49
#
就差在那一段空白上。对脚本的影响就比较大了,这是我今天写的两行代码:

在ksh下执行:
# psnum=`ps -ef|wc -l`
# echo "psnum=$psnum"
psnum=      46
# echo psnum=$psnum
psnum= 46

当在ksh下执行时,输出结果在“=”号后面总是有个空格。如果以空格作为分隔符进行后续处理的话(check_mk的local check脚本,输出结果就是这种格式,并以空格作为分隔符),就会造成错误的结果。

在bash下就没有这个问题
# psnum=`ps -ef|wc -l`
# echo "psnum=$psnum"
psnum=46
阅读(2173) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~