"sudo: 죄송합니다. sudo를 실행하려면 비밀번호가 필요합니다."를 억제합니다.

"sudo: 죄송합니다. sudo를 실행하려면 비밀번호가 필요합니다."를 억제합니다.

비밀번호를 제공하지 않고 다른 사용자로 명령을 실행하는 데 필요한 sudo 권한이 사용자에게 있는지 테스트하려고 합니다. 내가 가진 것은 이것입니다

 sudo -u other-user -n true
  if [ $? -ne 0 ]; then
    echo "ERROR: You don't have the neccessary sudo rights"
  else
    echo "OK. You do have the neccessary sudo rights"
  fi

그러나 sudo에 비밀번호가 필요한 경우 스크립트는 이 오류 메시지를 인쇄합니다.

  sudo: sorry, a password is required to run sudo

이 오류 메시지를 표시하지 않을 수 있나요?

시스템 오류 및 시스템 출력을 리디렉션하려고 시도했지만 오류 메시지가 계속 나타납니다.

  sudo -u other-user -n true > /dev/null 2>&1

답변1

일반적인 방법은 나에게 잘 작동합니다.

$ sudo -u test -n true  
sudo: a password is required
$ echo $?                                   
1
$ sudo -u test -n true >/dev/null 2>&1
$ echo $?                                   
1

하지만 어떤 이유로든 도움이 되지 않는다면 다음을 시도해 보세요.

$ { sudo -u test -n true ; } >/dev/null 2>&1
$ echo $?                                   
1
$ ( sudo -u test -n true ) >/dev/null 2>&1
$ echo $?                                 
1

관련 정보