Existen muchas formas de escanear desde shell un rango de IPs o subnet, por ejemplo con nmap o creando un script en bash, perl, etc. No obstante aquí va una forma sencilla que he encontrado en Shell Fu:
for IP in 192.168.1.{1..10}; do if ping $IP -c 1 > /dev/null; then echo $IP alive; else echo $IP dead; fi; done
Y la salida (escaneo desde la 192.168.1.1 a 192.168.1.10
~$ for IP in 192.168.1.{1..10}; do if ping $IP -c 1 > /dev/null; then echo $IP alive; else echo $IP dead; fi; done 192.168.1.1 alive 192.168.1.2 dead 192.168.1.3 dead 192.168.1.4 dead 192.168.1.5 dead 192.168.1.6 dead 192.168.1.7 dead 192.168.1.8 dead 192.168.1.9 dead 192.168.1.10 dead