pingを自動で実行する

#!/bin/sh
#getconnect.sh

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