321704296f
case instead of test where appropriate, since case allows case is a sh builtin and (as a side-effect) allows case-insensitivity. Changes discussed on freebsd-hackers. Submitted by: Doug Barton <Doug@gorean.org>
65 lines
1.2 KiB
Bash
Executable File
65 lines
1.2 KiB
Bash
Executable File
#!/bin/sh -
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# pccard_ether interfacename [ifconfig option]
|
|
#
|
|
# example: pccard_ether ep0 -link0
|
|
#
|
|
|
|
# Suck in the configuration variables
|
|
#
|
|
if [ -r /etc/defaults/rc.conf ]; then
|
|
. /etc/defaults/rc.conf
|
|
elif [ -r /etc/rc.conf ]; then
|
|
. /etc/rc.conf
|
|
fi
|
|
|
|
case ${pccard_ifconfig} in
|
|
[Nn][Oo] | '')
|
|
;;
|
|
[Dd][Hh][Cc][Pp])
|
|
if [ -r /sbin/dhclient ]; then
|
|
if [ -s /var/run/dhclient.pid ]; then
|
|
kill `cat /var/run/dhclient.pid`
|
|
rm /var/run/dhclient.pid
|
|
fi
|
|
/sbin/dhclient
|
|
elif [ -r /usr/local/sbin/dhcpc ]; then
|
|
if [ -s /var/run/dhcpc.pid ]; then
|
|
kill `cat /var/run/dhcpc.pid`
|
|
rm /var/run/dhcpc.pid
|
|
fi
|
|
/usr/local/sbin/dhcpc $*
|
|
else
|
|
echo "DHCP client software not available (isc-dhcp2)"
|
|
fi
|
|
;;
|
|
*)
|
|
interface=$1
|
|
shift
|
|
ifconfig ${interface} ${pccard_ifconfig} $*
|
|
;;
|
|
esac
|
|
|
|
case ${defaultrouter} in
|
|
[Nn][Oo] | '')
|
|
;;
|
|
*)
|
|
static_routes="default ${static_routes}"
|
|
route_default="default ${defaultrouter}"
|
|
;;
|
|
esac
|
|
|
|
# Set up any static routes.
|
|
#
|
|
if [ -n "${static_routes}" ]; then
|
|
# flush beforehand, just in case....
|
|
route -n flush
|
|
arp -d -a
|
|
for i in ${static_routes}; do
|
|
eval route_args=\$route_${i}
|
|
route add ${route_args}
|
|
done
|
|
fi
|