当从未询问是/否问题时,yes命令似乎在循环中运行。我认为如果通过另一个命令传递它不应该这样做。
我在OS X Mojave上使用的bash脚本将计算机绑定到Active Directory。所有这些计算机都已经在AD中记录了计算机,但是高层决定他们想要一种新的计算机命名方案,而让Mac更新其名称的唯一方法是从AD取消绑定,然后重新绑定。一些计算机不能完全解除绑定(从AD中删除计算机记录),在这种情况下,我用力解除了绑定,从而留下了计算机记录。问题是再次绑定它们时。有时系统会发现计算机记录已经存在,并询问我是否要使用现有记录,我这样做是因为它会更改AD中的计算机记录名称。但是有时候,当计算机干净地解开绑定时,它永远不会问这个问题。我已经在dsconfigad命令之前用管道输送了yes命令,当它询问是否要使用现有记录时,它可以正常工作。但是,当它不询问时,它陷入了运行“是”的循环中。
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
我希望,如果不问“是/否”,它将继续下去。