sudo -n
在Mac OS X(10.10.3)上,看起来总是返回0作为返回码。
因此,无论用户是否首先使用其密码进行了身份验证,此类内容始终显示为0:
sudo -n true &> /dev/null ; echo $?
如果用户没有有效的sudo会话,我希望看到1作为退出代码,但是在OS X上,它总是返回0。
我问,因为我已经看到这种模式建议检查sudo访问,例如:https : //superuser.com/a/587876/119764
什么是正式的(???)的行为sudo -n
?它在版本或操作系统上是否有所不同,或者我缺少某些内容?
我有同样的问题。参考手册页,
否则,如果存在配置/权限问题或sudo无法执行给定命令,则sudo会以退出值1退出。在后一种情况下,错误字符串将打印到stderr。如果sudo不能stat(2)在用户的PATH中有一个或多个条目,则在stderr上打印一个错误。(如果目录不存在或不是目录,则该条目将被忽略并且不会显示错误。)在正常情况下,不应发生这种情况。stat(2)返回“权限被拒绝”的最常见原因是,如果您正在运行自动安装程序,并且PATH中的目录之一位于当前无法访问的计算机上。
因此,这似乎是OS X中的错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句