Bash에서 "sudo"로 호출할 때 "yes" 또는 "y"를 프로그램에 어떻게 파이프합니까?

Bash에서 "sudo"로 호출할 때 "yes" 또는 "y"를 프로그램에 어떻게 파이프합니까?

Y호출될 때 또는 yes프로그램으로 어떻게 파이프합니까 sudo?

이렇게 입력하면 됩니다

yes | command
yes | yum update

다음과 같은 방법으로 프로그램에서 어떻게 y전송 합니까?yessudo

yes| sudo command

일반적으로 비밀번호는 y들어오는 항목 에서 요청 되어야 yes합니다 . 어떻게 해야 하나요?commandsudosudo

답변1

sudo-S이 옵션을 사용 하지 않는 한 표준 입력이 아닌 터미널에서 직접 비밀번호를 읽으십시오 . 그러므로

yes | sudo command

를 읽지 않고 (필요한 경우) 비밀번호를 묻는 메시지를 표시한 yes다음 표준 출력 command에서 ​​나오는 표준 입력을 사용하여 루트로 실행해야 합니다 yes.

그래도 작동하지 않으면 sudo다음과 같은 방법을 사용하여 전체 파이프라인을 실행할 수 있습니다.

sudo sh -c "yes | command"

관련 정보