Viewing File: /usr/share/doc/ifupdown/examples/ping-places.sh

#!/bin/sh

if [ `id -u` -ne 0 ] || [ "$1" = "" ]; then exit 1; fi

if [ -x /usr/bin/fping ]; then
	PING="/usr/bin/fping"
else
	PING="/bin/ping -c 2"
fi

iface="$1"
which=""

while read addr pingme scheme; do
	if [ "$which" ]; then continue; fi

	#echo "  Trying $addr & $pingme ($scheme)" >&2

	ip addr add $addr dev $iface  >/dev/null 2>&1
	ip link set $iface up         >/dev/null 2>&1

	if $PING $pingme >/dev/null 2>&1; then
		which="$scheme"	
	fi
	ip link set $iface down       >/dev/null 2>&1
	ip addr del $addr dev $iface  >/dev/null 2>&1
done

if [ "$which" ]; then echo $which; exit 0; fi
exit 1
Back to Directory File Manager