bash 스크립트를 사용하여 명령줄에서 프로그램을 실행하려고 합니다. 이 절차는 매우 간단합니다. 명령줄에서 호출하여 ,,,,, x
를 입력합니다 1
.filename
5
6
7
하지만문제가 있습니다.
- 적시에 올바른 입력을 제공합니다. 즉, 입력 1에 의해 시작된 프로세스가 완료될 때까지 입력 5를 기다립니다.
- 입력이 실제로 프로그램 자체에 도달하는지 확인하십시오.
프로그램이 시작된 후 입력을 요청하면 명령줄에서 입력할 수 있으므로 bash 스크립트를 사용하여 이 작업을 수행할 수 있다고 생각했습니다. (이것은 내 첫 번째 bash 스크립트입니다. 이 문제를 해결할 때까지 "Hello world"라고 말하지도 않았습니다.)
나는 a를 사용해 보았고 비슷한 것을 wait
보았습니다 . until
의견 있으십니까?
답변1
아직 댓글을 달 수 없으므로 OP가 충분한 데이터를 게시하지 않았기 때문에 답변으로 게시했지만 불완전합니다.
당신은 이것을 조사하고 싶을 수도 있습니다 expect
. 이는 그 자체로 스크립팅 언어이지만 혼합될 수 있습니다 bash
(권장되지는 않지만). 가장 간단한 형태는 다음과 같습니다.
#!/usr/bin/expect
expect "Prompt: "
send "my input\r"
expect eof
\r
return
(제 생각에는) 단지 열쇠라는 뜻입니다 enter.
예를 들어 expect
프로그램의 스크립트는 다음과 같습니다.
#!/usr/bin/expect
expect "Provide 1: "
send "1\r
expect "Provide filename: "
send "foobar.txt\r"
expect "Provide 5: "
send "5\r"
# and so on...
expect eof
귀하의 필요에 맞게 답변을 조정할 수 있도록 지금까지 가지고 있는 코드에 대한 힌트와 프로그램 "x"의 샘플 출력을 제공해 주십시오.