저는 Amazon Linux 인스턴스로 작업하고 데이터를 채우고 작업하는 모든 프로그램을 설치하는 몇 가지 스크립트가 있지만 몇 가지 프로그램에서 다음을 묻습니다.
Do you want to continue [Y/n]?
설치를 일시 중지하십시오. 모든 경우에 "Y"로 자동 응답하고 싶습니다. 이제 어떻게해야할지 확신합니다.
저는 Amazon Linux 인스턴스로 작업하고 데이터를 채우고 작업하는 모든 프로그램을 설치하는 몇 가지 스크립트가 있지만 몇 가지 프로그램에서 다음을 묻습니다.
Do you want to continue [Y/n]?
설치를 일시 중지하십시오. 모든 경우에 "Y"로 자동 응답하고 싶습니다. 이제 어떻게해야할지 확신합니다.
답변:
'예'명령 것이다 에코 'Y'(또는 당신이 그것을 물어 무엇이든) 무기한. 다음과 같이 사용하십시오.
yes | command-that-asks-for-input
또는 대문자 'Y'가 필요한 경우 :
yes Y | command-that-asks-for-input
yes
CPU를 최대한 활용하는 것으로 알려져 있으므로 주의하십시오 . stackoverflow.com/a/18164007/720665
-y
bash 스크립트에 대한 인터넷 검색 은 어렵습니다.
/dev/null
또는 STDOUT 과 같이 제한없이 무언가에 쓸 때만 해당됩니다 . 명령에 파이프되어 수신 명령이 읽을 때마다 파이프에 한 줄만 쓰고 그렇지 않으면 대기합니다.
echo y | command
작동해야합니다.
또한 일부 설치 프로그램에는 "auto-yes"플래그가 있습니다. 그것은의 -y
를위한 apt-get
우분투.
-f
( --force
) 플래그가 있습니다
대상 서버에 Expect를 설치하지 못할 수 있습니다. 예를 들어 Jenkins 작업을 작성하는 경우가 많습니다.
그렇다면 askubuntu.com에서 다음과 같은 답변을 고려할 것입니다.
/ubuntu/338857/automatically-enter-input-in-command-line
printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input
드문 경우지만이 명령은 사용자가 문자 뒤에서 Enter를 누르지 않아도됩니다. 이 경우 개행 문자를 제외하십시오.
printf 'yyy' | ./script_that_needs_user_input
완전성을 위해 여기 문서를 사용할 수도 있습니다.
./script_that_needs_user_input << EOF
y
y
y
EOF
또는 쉘이 here 문자열을 지원하는 경우 :
./script <<< "y
y
y
"
또는 한 줄에 하나의 입력으로 파일을 만들 수 있습니다.
./script < inputfile
다시 말하지만,이 답변에 대한 모든 크레딧은 askubuntu.com , lesmana 의 답변 작성자 에게 있습니다.
기본값을 그대로 사용하려면 다음을 사용할 수 있습니다.
\n | ./shell_being_run
bash
, sh
내가 아는 대부분의 시스템, 당신은 필요 다음 명령 그렇지 않으면되지 않을 것 파이프. echo
\n
--noprompt
또는--noconfirm
플래그 가있을 수 있습니다.