Похоже, 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
? Отличается ли он версией или ОС, или я что-то упустил?