检测172.24.0.0/16网段的有所IP,查看哪些IP是有效的IP。
方法一:
思路:
通过ping命令来进行检测,通过grep -q ‘ttl=’来检测,
grep -q 是找到匹配行,但不显示,但是可以检测grep的退出状态,和$?的结果一样。
能够ping通则打印yes,不能ping通则打印no。
#!/bin/bash IP=172.24 for I3 in {0..254} do Res="$IP.$I3" for I4 in {1..254} do ping -c 2 -w 2 "$Res.$I4"|grep -q 'ttl='&&echo "$Res.I4 yes"||echo "$Res.I4 no" done done
方法二:
直接判断ping命令的输出结果。
#!/bin/bash IP=172.24 for I3 in {0..254} do Res="$IP.$I3" for I4 in {1..254} do ping -c 2 -w 1 "$Res.$I4">/dev/null if [ $? -eq 0 ];then echo "$Res.$I4 yes" else echo "$Res.$I4 no" fi done don