Я никогда не использовал C, и я не пишу это по соображениям безопасности, я просто пишу этот скрипт, чтобы протестировать обновление через nsupdate для моего BIND для конкретной зоны, "zoneA.unix". Но я получаю «option: undefined variable»
И я не уверен, что это правильный способ сделать nsupdate через вход пользователя.nsupdate в базовом сценарии CSH для BIND в unix
echo "First of all we need to grab your username:"
set uname = $<
if ($uname == "zoneA")then
echo "password: "
set passwd = $<
if ($passwd == "Azone")then
echo "you are in"
echo "now to do the nsupdate"
echo "do you wish to (A)dd or (D)elete a record"
set numeric = $<
if ($numeric == "A")then
$option = "add"
$testinga = "add"
else if($numeric == "D")then
$option = "delete"
$testinga = "delete"
endif
echo "what to $testinga to the zone zoneA.unix?"
set innerzonename = $<
nsupdate -k /usr/local/etc/namedb/Keys/Kzonea.+157+57916.key -v
debug yes
zone zonea.unix
update $testinga $innerzonename 86400 A 127.0.0.1
show
echo "is this correct (Y)es (n)"
set sendoff = $<
if($sendoff == "Y")then
send
else if ($sendoff == "N")then
quit
endif
Так что код работает отлично сезам $ опционной части, и я не уверен, если он будет работать после ввода необходимого во время nsupdate, потому что он не остановится, ну я не знаю, как я могу приостановить его.
То, что он делает, это запустить nsupdate и дождаться завершения nsupdate. так или иначе, я могу передать их в это?
не уверен, что ваш код '$ option =" add "', и многие подобные утверждения должны делать. Или '' $ option "==" add "или' set option = "add" 'будет 2 вероятными исправлениями. Вы уже использовали эти две формы, так почему бы и нет сейчас? Удачи. – shellter
Кроме того, 'debug yes zone ...' и т. Д. Ниже nsupdate выглядит подозрительно. Вы хотите подпитывать эти cmds/terms в nsupdate в качестве входных данных? Это не сработает. Если ваши счастливые файлы 'HERE' (с использованием' << EOS') могут работать. Перейдите через раздел csh по адресу http://www.grymoire.com/Unix/Csh.html, чтобы ускориться (и посмотрите, почему вы не должны тратить слишком много времени на 'csh'). Удачи. – shellter
Здравствуйте, да, я подумываю о запуске только небольшого php-сервера, чтобы направить общий nsupdate в текстовый файл, а затем запустить nsupdate -v textfile.txt Но я обновил его. Теперь я повторяю все команды nsupdate текстовый файл и запуск nsupdate -v. я добавлю ответ на свой вопрос, если я позволю. –