Как получить ответ «да» или «нет», если не задан вопрос? - PullRequest
0 голосов
/ 13 мая 2019

Кажется, что команда yes выполняется в цикле, когда вопрос да / нет никогда не задается.Я думал, что это не должно делать это, если передается по другой команде.

У меня есть скрипт bash, который я использую в OS X Mojave, который связывает компьютер с Active Directory.На всех этих компьютерах уже есть записи о компьютерах в AD, но руководители решили, что им нужна новая схема именования компьютеров, и единственный способ, которым мы можем заставить Mac обновить их имена, - это отсоединиться от AD, а затем выполнить повторную привязку.Некоторые из компьютеров не были отсоединены чисто (удаление записи компьютера из AD), и в этом случае я сделал принудительное открепление, которое оставляет запись компьютера.Проблема в том, когда их снова связывают.Иногда система видит, что компьютерная запись уже существует, и спрашивает, хочу ли я использовать существующую запись, что я делаю, потому что это изменит имя компьютерной записи в AD.Но иногда, когда компьютер отвязывается чисто, он никогда не задает этот вопрос.Я передал команду yes прямо перед командой dsconfigad, и когда она спрашивает, хочу ли я использовать существующую запись, она работает нормально.Но, когда он не спрашивает, он застревает в цикле, выполняющем «да».

yes | dsconfigad -a $currentName -u $aduname -p $adpass -ou "OU=Macs,DC=domain,DC=com" -domain $domain -mobile enable -mobileconfirm disable -localhome enable -useuncpath enable -groups "Domain Admins" -alldomains enable

Я надеялся, что если вопрос «да / нет» не будет задан, он просто пойдет дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...