Chinaunix

标题: while 循环请教 [打印本页]

作者: zdho    时间: 2008-04-02 18:33
标题: while 循环请教
#!/bin/sh

ping -c 4 192.168.1.12
#if it is ok , we let snort run !!!
if  [ $? -eq 0 ];then
snort -c /etc/snort/snort.conf -i eth0:1  -D
else
#pinging loop
while [ $? -eq 1 ];do
sleep 5
ping -c 4 192.168.1.12
if  [ $? -eq 0 ];then
snort -c /etc/snort/snort.conf -i eth0:1  -D
break;
fi
done
fi
上面是我刚写的一个脚本, 但是到了while 循环那里一定跳出, ?$ = 1 得情况下, 请问一下是什么原因吗?
我刚学, 比较菜。
谢谢
作者: jackymail    时间: 2008-04-02 18:38
原帖由 zdho 于 2008-4-2 18:33 发表
#!/bin/sh

ping -c 4 192.168.1.12
#if it is ok , we let snort run !!!
if  [ $? -eq 0 ];then
snort -c /etc/snort/snort.conf -i eth0:1  -D
else
#pinging loop
while [ $? -eq 1 ];do
sleep 5
...


$?上一个命令执行结果, 0成功,1失败
作者: evil_knight    时间: 2008-04-02 19:01
建议不要总是使用$?变量,应该使用grep截取上个命令的输出来判断是否执行正常!
作者: zdho    时间: 2008-04-02 20:48
好的,,完全明白鸟!!
谢谢两位!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2