프로그램 설치에 대한 "예"응답을 어떻게 스크립팅합니까?
저는 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
echo y | command
작동해야합니다.
또한 일부 설치 프로그램에는 "auto-yes"플래그가 있습니다. 그것은의 -y
를위한 apt-get
우분투.
대상 서버에 Expect를 설치하지 못할 수 있습니다. 예를 들어 Jenkins 작업을 작성하는 경우가 많습니다.
그렇다면 askubuntu.com에서 다음과 같은 답변을 고려할 것입니다.
https://askubuntu.com/questions/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 의 답변 작성자 에게 있습니다.
이것이 당신이 원하는 것보다 더 복잡하고 무거울 수 있지만,이를 수행하는 매우 유연한 방법 중 하나는 Expect (또는 다른 프로그래밍 언어의 파생물 중 하나) 와 같은 것을 사용하는 것 입니다.
Expect는 텍스트 기반 응용 프로그램을 제어하기 위해 특별히 설계된 언어로, 바로 사용자가 원하는 작업입니다. 더 복잡한 작업을 수행해야하는 경우 (예 : 실제로 다음에 수행 할 작업 / 답변을 결정하는 논리) Expect를 사용하는 것이 좋습니다.
기본값을 그대로 사용하려면 다음을 사용할 수 있습니다.
\n | ./shell_being_run
-y
설치 명령 을 입력 하면됩니다.
예를 들면 : yum install <package_to_install> -y
참고 URL : https://stackoverflow.com/questions/7642674/how-do-i-script-a-yes-response-for-installing-programs
'Programing' 카테고리의 다른 글
별도의 Pandas DataFrame을 서브 플롯으로 플로팅하려면 어떻게해야합니까? (0) | 2020.08.29 |
---|---|
문자열을 DateTime으로 변환 (0) | 2020.08.29 |
커밋하는 동안 거북이 svn의 작업 복사본 잠김 오류 (0) | 2020.08.29 |
서명 된 APK를 기기에 수동으로 설치할 수 없으며 '앱이 설치되지 않음'오류가 발생 함 (0) | 2020.08.29 |
UIColor에서 RGB 값을 얻는 방법은 무엇입니까? (0) | 2020.08.29 |