You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rwxrob-dot/scripts/resolvtog

48 lines
799 B
Bash

#!/usr/bin/bash
# assumes only two NET: entries and toggles with comments
toggle() {
in_net=""
current_net=""
while read -r line; do
# net
if [[ $line =~ ^#\ *NET: ]];then
current_net=${line#*:}
in_net=y
echo "$line"
continue
fi
# end net
if [[ -n $in_net && $line =~ ^\ *$ ]]; then
in_net=""
current_net=""
echo "$line"
continue
fi
# if in net and disabled, enable
if [[ -n $in_net && $line =~ ^# ]]; then
echo "${line##\#}"
continue
fi
# if in net and enabled, disable
if [[ -n $in_net && ! $line =~ ^# ]]; then
echo "#${line}"
continue
fi
echo "$line"
done < /etc/resolv.conf
}
tmpfile=$(mktemp)
toggle >| "$tmpfile"
sudo cp "$tmpfile" /etc/resolv.conf