Я пытаюсь удалить существующую запись зоны из файла named.conf bind (в выпуске CentOS 7).
Запись зоны выглядит следующим образом:
zone "example.com" IN {
type master;
file "example.com.zone";
};
Команда:
sed -nie '/\"example.com\"/,/^\};$/d;p;' /etc/named.conf
удаляет эту запись (как и предполагалось).
Затем я создал следующий скрипт оболочки (rm-zone.sh) с исполняемыми разрешениями для выполнения той же работы:
#!/bin/sh
[ $# -lt 1 ] && {
echo "usage: $0 <domain>"
exit 1
}
domain=$1
sed -nie '/\"$domain\"/,/^\};$/d;p;' /etc/named.conf
rndc reload
echo Zone: $domain deleted successfully
Когда я вхожу в систему как пользователь root и запускаю команду:
./rm-zone.sh example.com
Я вижу сообщение "Zone example.com успешно удалено", но зона все еще находится в моем имени.conf file ...
Опять же, когда я даю вышеупомянутую команду из cli:
sed -nie '/\"example.com\"/,/^\};$/d;p;' /etc/named.conf
зона правильно удалена !!!
Видимо, что-то естьнеправильно в сценарии оболочки, но не удалось выяснить, что это такое.
Будем весьма благодарны за любые идеи относительно того, что мне здесь не хватает!