Проверьте этот скрипт.
#!/bin/bash
for i in `seq ${2} ${3}`
do
ping -c 1 ${1}.${i} > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "${1}.${i} responded."
else
echo "${1}.${i} did not respond."
fi
done
Для запуска ./script 192.168.1 0 10, например, это приведет к тому, что ips 192.168.1.0 - 192.168.1.10, а echo ответит, если ping - это нормально и didn Ответьте, если нет.
NB: вы можете заменить статические переменные $ 1 $ 2 $ 3, если диапазон и IP всегда совпадают.