sudo:无法执行…不好的地址 – 它是什么以及如何解决它?

我有一套脚本,在执行相当通用的NetRestore映像后完成客户机部署。

主脚本以root权限运行,然后使用sudo -iu $PROPER_USER ...调用另一个“user”脚本sudo -iu $PROPER_USER ...

问题是,sudo在这一步失败,并没有真正执行脚本。 我得到这个错误:

 sudo: unable to execute /bin/bash: Bad address 

这是什么意思,我该如何解决这个问题? 有一点想到,我正在更改脚本中的主机名,使用networksetup -setcomputername ...

不要介意networking。 它甚至不是很接近。

Bad address信息来自内核,并指出一个进程试图打开一个不存在的terminal(pty / tty)。

我不知道为什么joinsleep解决了问题(不可靠),但回到我的脚本的非睡眠版本,并添加:

Defaults !requiretty

/etc/sudoers到目前为止工作。

干杯!