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