请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

shell脚本中执怎么让每个ping延迟2秒中断然后自动执行下一个ping呢

要ping很多机器,测试网络情况
想让它自动跑起来
但是脚本中直接每行写ping,它不会自动中断继续下一个ping
怎么让每个ping延迟2秒中断然后自动执行下一个ping呢

正在回答

1回答

ping不加任何参数时不会自动结束,如果要在脚本中使用,用于探测主机是否可以正常联通,需要加参数-w

-w 参数代表超时的时间,例如-w 3代表无论能否ping通,3秒后都自动结束改指令。

https://img1.sycdn.imooc.com//szimg/629d93db09c1dfd011700470.jpg

完整的探测主机是否联通的脚本可以这样写:

#!/bin/bash

#


HOST="10.99.0.101 10.99.0.223  1.1.1.1"


for h in $HOST;do


ping  -w 3 $h &> /dev/null

if [ $? -eq 0 ];then

echo "Ping HOST $h is OK...."

else

echo "Ping HOST $h is Failed..."

fi

done


执行后效果如下:

https://img1.sycdn.imooc.com//szimg/629d943f09236f8806140114.jpg

2 回复 有任何疑惑可以回复我~
  • 提问者 JosiahC #1
    我的天!谢谢老师!
    回复 有任何疑惑可以回复我~ 2022-06-06 16:34:55
  • 提问者 JosiahC #2
    老师 但是脚本里的这个$?这个命令也没执行呀,直接就能if判断?
    不得先执行一下$?,再判断
    回复 有任何疑惑可以回复我~ 2022-06-06 17:22:28
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号