ipaddress=$(expr $1 : '\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.\).*')
startip=$(expr $1 : '.*\.\([0-9]\{1,3\}\)$')
stopip=$2
if [ $# -ne 2 ]; then
echo "Usage: getconnect.sh startIPaddress EndIPaddress"
exit 1
elif [ $startip -gt $stopip ]; then
echo "IPアドレスの範囲指定が間違っています"
exit 1
fi
while [ $startip -le $stopip ]; do
ping -c 1 $ipaddress$startip > /dev/null
if [ $? -eq 0 ]; then
ok="$ok $ipaddress$startip"
else
ng="$ng $ipaddress$startip"
fi
(( startip++ ))
done
okall=( $ok )
ngall=( $ng )
echo "応答あり"
for (( i=0; i<${#okall[*]}; i++ )); do
echo ${okall[$i]}
done
echo "応答なし"
for (( i=0; i<${#ngall[*]}; i++ )) ; do
echo ${ngall[$i]}
done
$ ./getconnect.sh 192.168.0.1 9
応答あり
192.168.1.9
応答なし
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
192.168.0.7
192.168.0.8