-rwxr-xr-x | root/usr/bin/changedns | 42 |
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 @@ +#!/bin/sh + +arg0="`basename $0`" # base portion of our filename +arg1="$1" +tmpfile="/tmp/resolv.conf.$$" + +usage ( ) { + echo "usage: $arg0 -a|-r {ip} [{ip}...]" + rm -f $tmpfile + exit 1 +} + + +[ "$#" -le 1 ] && usage + +shift + +cp /etc/resolv.conf $tmpfile + +case "$arg1" in + "-a") + for ip in "$@"; do + echo $ip + grep -sq "^nameserver $ip\$" $tmpfile || echo "nameserver $ip" >>$tmpfile + done + ;; + "-r") + for ip in "$@"; do + grep -v "^nameserver $ip\$" $tmpfile >$tmpfile.2 + mv $tmpfile.2 $tmpfile + done + ;; + *) + usage + ;; +esac + +[ -f $tmpfile ] && cp $tmpfile /etc/resolv.conf +rm -f $tmpfile + +exit 0 + |