단 하나의 명령만 실행하는 쉘 스크립트를 작성한다고 가정해 보겠습니다. 하지만 이 명령은 제대로 설계되지 않았습니다. 명령줄 옵션을 제공하지 않고 대신 몇 가지 질문을 하고 사용자 입력을 기다립니다.
질문에 자동으로 답할 수 있도록 스크립트에서 이러한 입력을 준비하는 방법이 있습니까?
답변1
명령이 너무 까다롭지 않다면 다음과 같이 사용해야 합니다.
command > /dev/null << EOF
<answer 1>
<answer 2>
<answer 3>
EOF
이를 위해서는 정확한 답을 미리 알아야 합니다.
답변2
이것이 이루어질 수 있기를 바랍니다. 기대에서웹사이트:
Expect는 telnet, ftp, passwd, fsck, rlogin,tip 등과 같은 대화형 응용 프로그램을 자동화하는 도구입니다. 기대하는 것은 정말 이 일을 사소하게 만듭니다. Expect는 동일한 애플리케이션을 테스트하는 데에도 유용합니다 [...]"
등 많은 도움을 줍니다.자동으로 예상됨.
다시 Expect 웹사이트에서,
autoexpect는 다른 프로그램과의 상호 작용을 모니터링하고 상호 작용을 재현하기 위한 Expect 스크립트를 생성합니다. 직선 스크립트의 경우 자동 기대는 수동으로 스크립트를 작성하는 것보다 많은 시간을 절약합니다.
답변3
스크립트가 프롬프트에 응답해야 하거나 여러 프롬프트에 동일한 응답을 제공할 수 있는 경우 다음을 수행하십시오 yes
.
NAME
yes - output a string repeatedly until killed
SYNOPSIS
yes [STRING]...
yes OPTION
DESCRIPTION
Repeatedly output a line with all specified STRING(s), or `y'.
다음과 같이 사용하세요:
yes Me | give_a_hug.sh