今天在写脚本的时候发现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
阅读(2269) | 评论(0) | 转发(0) |