summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rwxr-xr-xroot/usr/bin/changedns5
1 files changed, 3 insertions, 2 deletions
diff --git a/root/usr/bin/changedns b/root/usr/bin/changedns
index 5059d08..edc48bc 100755
--- a/root/usr/bin/changedns
+++ b/root/usr/bin/changedns
@@ -1,42 +1,43 @@
1#!/bin/sh 1#!/bin/sh
2 2
3 arg0="`basename $0`"# base portion of our filename 3 arg0="`basename $0`"# base portion of our filename
4arg1="$1" 4arg1="$1"
5tmpfile="/tmp/resolv.conf.$$" 5tmpfile="/tmp/resolv.conf.$$"
6 6
7usage ( ) { 7usage ( ) {
8 echo "usage: $arg0 -a|-r {ip} [{ip}...]" 8 echo "usage: $arg0 -a|-r {ip} [{ip}...]"
9 rm -f $tmpfile 9 rm -f $tmpfile
10 exit 1 10 exit 1
11} 11}
12 12
13 13
14[ "$#" -le 1 ] && usage 14[ "$#" -le 1 ] && usage
15 15
16shift 16shift
17 17
18[ -f /etc/resolv.conf ] && cp /etc/resolv.conf $tmpfile 18[ ! -e "/etc/resolv.conf" ] && touch /etc/resolv.conf
19cp /etc/resolv.conf $tmpfile
19 20
20case "$arg1" in 21case "$arg1" in
21 "-a") 22 "-a")
22 for ip in "$@"; do 23 for ip in "$@"; do
23 echo $ip 24 echo $ip
24 grep -sq "^nameserver $ip\$" $tmpfile || echo "nameserver $ip" >>$tmpfile 25 grep -sq "^nameserver $ip\$" $tmpfile || echo "nameserver $ip" >>$tmpfile
25 done 26 done
26 ;; 27 ;;
27 "-r") 28 "-r")
28 for ip in "$@"; do 29 for ip in "$@"; do
29 grep -v "^nameserver $ip\$" $tmpfile >$tmpfile.2 30 grep -v "^nameserver $ip\$" $tmpfile >$tmpfile.2
30 mv $tmpfile.2 $tmpfile 31 mv $tmpfile.2 $tmpfile
31 done 32 done
32 ;; 33 ;;
33 *) 34 *)
34 usage 35 usage
35 ;; 36 ;;
36esac 37esac
37 38
38[ -f $tmpfile ] && cp $tmpfile /etc/resolv.conf 39[ -e $tmpfile ] && cp $tmpfile /etc/resolv.conf
39rm -f $tmpfile 40rm -f $tmpfile
40 41
41exit 0 42exit 0
42 43