일부 프로세스를 기다리는 Bash 스크립트

일부 프로세스를 기다리는 Bash 스크립트

bash 스크립트를 사용하여 명령줄에서 프로그램을 실행하려고 합니다. 이 절차는 매우 간단합니다. 명령줄에서 호출하여 ,,,,, x를 입력합니다 1.filename567 하지만문제가 있습니다.

  1. 적시에 올바른 입력을 제공합니다. 즉, 입력 1에 의해 시작된 프로세스가 완료될 때까지 입력 5를 기다립니다.
  2. 입력이 실제로 프로그램 자체에 도달하는지 확인하십시오.

프로그램이 시작된 후 입력을 요청하면 명령줄에서 입력할 수 있으므로 bash 스크립트를 사용하여 이 작업을 수행할 수 있다고 생각했습니다. (이것은 내 첫 번째 bash 스크립트입니다. 이 문제를 해결할 때까지 "Hello world"라고 말하지도 않았습니다.)

나는 a를 사용해 보았고 비슷한 것을 wait보았습니다 . until의견 있으십니까?

답변1

아직 댓글을 달 수 없으므로 OP가 충분한 데이터를 게시하지 않았기 때문에 답변으로 게시했지만 불완전합니다.

당신은 이것을 조사하고 싶을 수도 있습니다 expect. 이는 그 자체로 스크립팅 언어이지만 혼합될 수 있습니다 bash(권장되지는 않지만). 가장 간단한 형태는 다음과 같습니다.

#!/usr/bin/expect
expect "Prompt: "
send "my input\r"
expect eof

\rreturn(제 생각에는) 단지 열쇠라는 뜻입니다 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"의 샘플 출력을 제공해 주십시오.

관련 정보