免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: pxf520
打印 上一主题 下一主题

shell脚本遇到一灵异现象,求解 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-05-10 11:22 |只看该作者
这代码都不带缩进的,牛逼啊

论坛徽章:
3
丑牛
日期:2014-02-25 15:19:10金牛座
日期:2014-02-28 19:01:322015亚冠之西悉尼流浪者
日期:2015-06-10 15:01:09
12 [报告]
发表于 2012-05-10 14:47 |只看该作者
huohulwz 发表于 2012-05-10 11:15
回复 9# pxf520



脚本名字含有“zombie”,这样top的时候就会出现2个zombie了,所以取值就不正确了

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
13 [报告]
发表于 2012-05-10 19:46 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
14 [报告]
发表于 2012-05-11 08:21 |只看该作者
其实可以使用sh -x调试的 这样就出现执行过程了 多好

论坛徽章:
3
丑牛
日期:2014-02-25 15:19:10金牛座
日期:2014-02-28 19:01:322015亚冠之西悉尼流浪者
日期:2015-06-10 15:01:09
15 [报告]
发表于 2012-05-11 10:47 |只看该作者
freeterman 发表于 2012-05-11 08:21
其实可以使用sh -x调试的 这样就出现执行过程了 多好


这个知道,你没看到吗,即使-x 过程也是ok的

论坛徽章:
3
丑牛
日期:2014-02-25 15:19:10金牛座
日期:2014-02-28 19:01:322015亚冠之西悉尼流浪者
日期:2015-06-10 15:01:09
16 [报告]
发表于 2012-05-11 10:48 |只看该作者
mpstat 发表于 2012-05-10 11:22
这代码都不带缩进的,牛逼啊

我又不是开发,再说这么几行代码,没必要缩进,自己看着方便就ok

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
17 [报告]
发表于 2012-05-11 10:56 |只看该作者
pxf520 发表于 2012-05-11 10:47
这个知道,你没看到吗,即使-x 过程也是ok的

第一写
#!/bin/sh -x

用./urscript执行试试

让你echo $ZOM是因为这是个华问题,有兴趣可参

http://bbs.chinaunix.net/thread-733138-1-1.html

论坛徽章:
0
18 [报告]
发表于 2012-05-11 16:38 |只看该作者
[root@WTCCN-VM-RT ~]# ./zombie -w 1 -c 3
#!/bin/sh -xv
if [ $# -ne 4 ]
then
echo "Usage0 -w num1 -c num2"
exit 3
fi
+ '[' 4 -ne 4 ']'
ZOM=`top -b -n1|awk '/zombie/ {print $10}'`
top -b -n1|awk '/zombie/ {print $10}'
++ top -b -n1
++ awk '/zombie/ {print $10}'
+ ZOM='1
0.1
0.0'
if [ $ZOM -lt $2 ]
then
echo "OK - zombie process is $ZOM"
exit 0
fi
+ '[' 1 0.1 0.0 -lt 1 ']'
./zombie: line 8: [: too many arguments
if [ $ZOM -gt $2 -a $ZOM -lt $4 ]
then
echo "Warning - zombie process is $ZOM"
exit 1
fi
+ '[' 1 0.1 0.0 -gt 1 -a 1 0.1 0.0 -lt 3 ']'
./zombie: line 13: [: too many arguments
if [ $ZOM -gt $4 ]
then
echo "Critical - zombie process is $ZOM"
exit 2
else
exit 3
fi
+ '[' 1 0.1 0.0 -gt 3 ']'
./zombie: line 18: [: too many arguments
+ exit 3

论坛徽章:
0
19 [报告]
发表于 2012-05-13 19:30 |只看该作者
[ ] 是test命令,养成里面的变量全部加双引号的习惯就不会遇到这种错了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP