udhcpc: tweak math shell style with the metric var
[platform/upstream/busybox.git] / examples / udhcp / simple.script
1 #!/bin/sh
2 # udhcpc script edited by Tim Riker <Tim@Rikers.org>
3
4 RESOLV_CONF="/etc/resolv.conf"
5
6 [ -n "$1" ] || { echo "Error: should be called from udhcpc"; exit 1; }
7
8 NETMASK=""
9 [ -n "$subnet" ] && NETMASK="netmask $subnet"
10 BROADCAST="broadcast +"
11 [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
12
13 case "$1" in
14         deconfig)
15                 echo "Setting IP address 0.0.0.0 on $interface"
16                 ifconfig $interface 0.0.0.0
17                 ;;
18
19         renew|bound)
20                 echo "Setting IP address $ip on $interface"
21                 ifconfig $interface $ip $NETMASK $BROADCAST
22
23                 if [ -n "$router" ] ; then
24                         echo "Deleting routers"
25                         while route del default gw 0.0.0.0 dev $interface ; do
26                                 :
27                         done
28
29                         metric=0
30                         for i in $router ; do
31                                 echo "Adding router $i"
32                                 route add default gw $i dev $interface metric $metric
33                                 : $(( metric += 1 ))
34                         done
35                 fi
36
37                 echo "Recreating $RESOLV_CONF"
38                 # If the file is a symlink somewhere (like /etc/resolv.conf
39                 # pointing to /run/resolv.conf), make sure things work.
40                 realconf=$(realpath "$RESOLV_CONF" 2>/dev/null || echo "$RESOLV_CONF")
41                 tmpfile="$realconf-$$"
42                 > "$tmpfile"
43                 [ -n "$domain" ] && echo "search $domain" >> "$tmpfile"
44                 for i in $dns ; do
45                         echo " Adding DNS server $i"
46                         echo "nameserver $i" >> "$tmpfile"
47                 done
48                 mv "$tmpfile" "$realconf"
49                 ;;
50 esac
51
52 exit 0