sh/bash/dash/ksh/zsh等Shell脚本
-
gmslinux
- 帖子: 24
- 注册时间: 2007-02-03 21:58
#1
帖子
由 gmslinux » 2007-02-26 15:39
想得到局域网内哪个IP是在使用的,哪个IP未被使用。比如从10.0.0.1-10.0.0.254 之间哪个使用哪个未用。
我想用ping命令来写,加上一个循环,只是具体细节还不是很清楚。哪个大虾帮忙写一下。
代码: 全选
#!/bin/bash
ip ="192.0.0"
subip=1
while((subip<255));do
#测试 ip.subip 是否通,如果通,则echo
#subip = subip+1
done
-
gmslinux
- 帖子: 24
- 注册时间: 2007-02-03 21:58
#2
帖子
由 gmslinux » 2007-02-26 17:37
代码: 全选
for((i=1;i<255;i++));do ping 10.0.0.$i -c 2;done
刚刚得到的。现在就是不知道如何得到ping的返回值;得到之后就可以判断了。
-
aBiNg
- 帖子: 1331
- 注册时间: 2006-07-09 12:22
- 来自: 南京
#3
帖子
由 aBiNg » 2007-02-28 11:15
代码: 全选
num=`ping $ip -c 2 -q | sed -n -e '4p' | sed -e 's/.* \([0-9]*\)%.*/\1/'`;\
[ $num -eq 0 ] && echo $ip
-
gmslinux
- 帖子: 24
- 注册时间: 2007-02-03 21:58
#4
帖子
由 gmslinux » 2007-03-01 9:03
搞定!
代码: 全选
#!/bin/bash
echo "start"
for((i=1;i<255;i++));do
echo -n .
a=192.9.200.$i
(ping -c2 $a > /dev/null 2>&1) && echo $a is used >>ips.txt|| echo $a is unused>>ips.txt
done
echo "succeed!"