-rwxr-xr-x | root/usr/bin/changedns | 5 |
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 |
4 | arg1="$1" | 4 | arg1="$1" |
5 | tmpfile="/tmp/resolv.conf.$$" | 5 | tmpfile="/tmp/resolv.conf.$$" |
6 | 6 | ||
7 | usage ( ) { | 7 | usage ( ) { |
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 | ||
16 | shift | 16 | shift |
17 | 17 | ||
18 | [ -f /etc/resolv.conf ] && cp /etc/resolv.conf $tmpfile | 18 | [ ! -e "/etc/resolv.conf" ] && touch /etc/resolv.conf |
19 | cp /etc/resolv.conf $tmpfile | ||
19 | 20 | ||
20 | case "$arg1" in | 21 | case "$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 | ;; |
36 | esac | 37 | esac |
37 | 38 | ||
38 | [ -f $tmpfile ] && cp $tmpfile /etc/resolv.conf | 39 | [ -e $tmpfile ] && cp $tmpfile /etc/resolv.conf |
39 | rm -f $tmpfile | 40 | rm -f $tmpfile |
40 | 41 | ||
41 | exit 0 | 42 | exit 0 |
42 | 43 | ||