- 论坛徽章:
- 0
|
本帖最后由 p0w3r 于 2014-03-12 21:06 编辑
03/12 更新
- IP=$(ifconfig eth0.2 | grep 'inet addr:' | grep Bcast | awk '{print $2}' | awk -F: '{print $2}')
- mentps=$(ps | grep mentohust | grep -v grep | awk '{print $1}')
- if [ $IP ] && [ -n "$mentps" ] ; then
- ping -c 2 10.21.110.254 #> /dev/null
- RET=$? #&& echo $RET && sleep 2
-
- while [ $RET -eq 1 ]
- do
- echo "Running mentohust" && mentohust -k && mentohust && sleep 2
- ping -c 2 10.21.110.254 > /dev/null
- RET=$?
- done
- else # [ $RET = 0 ] ; then
- echo " Mentohust Run ! "
- fi
复制代码 上面这个代码我看不出问题了. 各位大侠指点一下.
我的用途是 如果网卡有获取IP , 然后没有mentohust这个进程的话就执行下面的命令 (貌似说废话了)
之后通过ping 看网卡是否ping通 , 如果不通就获取$? 的值 ,如果是 "1 " 就执行循环 .
然后 如果 $? 的值是 " 0 " 的话说明已经通了 就结束.
现在问题是 运行了脚本之后, 没信息返回 .
===========================分割===================================- ret=$?
- if [ $IP ] && [ -n $mentps ] ; then
- ping -c 2 10.21.110.254 > /dev/null
- until (($ret))
- do
- [ $ret -eq 0 ] && (mentohust -k) && mentohust
- ping -c 2 10.21.110.254 > /dev/null
- done
- else
- echo " Not getting an IP via DHCP ! "
- fi
- WebTEST=$(curl -s baidu.com | grep "219.136.125.139")
- if [ -n $WebTEST ] ; then
- WebAuth
-
- fi
复制代码 我是打算通过 ping 是否成功所输出的 $? 来判断是否同问是畅通的. 如果ping 不通会返回 1 .然后循环. 但是貌似 until 后面跟的 变量貌似不行 .一直都在循环 |
|