Listing 1 if_check.sh
#!/bin/sh # # 2001-01-30 Tom Kranz ([email protected]) # # We return the following error codes: # 0 - network connectivity is OK as it as - apart from annoyingly printing # 'Woohoo' nothing has happened # 1 - something's fubar on the network, and we've had to swap interfaces # 2 - you didn't enter a IP address to ping to test connectivity - we'll # print a nice error message and then leave if [ $# -ne 1 ] then echo echo "Usage: if_checker.sh <IP_address_to_ping>" echo echo "Where <IP_address_to_ping> is an always-reachable address you can" echo "use to verify connectivity" echo exit 2 fi if /usr/sbin/ping $1 then echo "Woohoo!" exit 0 else upif="`/usr/sbin/ifconfig -a | grep -v LOOPBACK | grep UP | cut -b 1-4`" downif="`/usr/sbin/ifconfig -a | grep -v LOOPBACK | grep -v UP | grep RU \ NNING | cut -b 1-4`" /usr/sbin/ifconfig $upif down /usr/sbin/ifconfig $downif up fi /usr/sbin/ping $1 exit 1