#!/bin/bash ez() { zone="$1" file="/etc/bind/dyn/$zone.zone" if [ -z "$zone" ]; then echo "Usage: edit_zone zone" 2>&1 return 1 elif [ ! -e "$file" ]; then echo "zone $zone doesnt exist!" 2>&1 return 1 fi dynamic=0 if rndc zonestatus "$zone" | grep -q "dynamic: yes"; then dynamic=1 rndc sync -clean "$zone" || return $? rndc freeze "$zone" || return $? echo "zone $zone frozen" 2>&1 fi sudoedit "$file" if [ $dynamic = 1 ]; then rndc thaw "$zone" || return $? fi } _ez() { if [[ "$COMP_CWORD" -eq 1 ]]; then COMPREPLY=($(cd "/etc/bind/dyn/*.zone" && compgen -f "${COMP_WORDS[1]}")) fi } complete -F _ez ez