'expect' 명령을 사용하여 대화형 프로그램을 실행하면 실패합니다.

'expect' 명령을 사용하여 대화형 프로그램을 실행하면 실패합니다.

내가 요청한 문제를 해결하려고 합니다.여기expect파일 리디렉션 대신 스크립트를 사용하십시오 . 불행하게도 이 솔루션은 제대로 작동하지 않습니다. (위 질문에 설명된 것과 동일한 동작입니다. ./driver.exp예상 결과를 얻으려면 아래 스크립트를 여러 번 실행해야 합니다.

오류 메시지는 다음과 같습니다.


...

 Input > QUIT
send: spawn id exp4 not open
    while executing
"send "VOPT\n""
    (file "./driver.exp" line 33)

(전체 stdout 출력은 다음에서 찾을 수 있습니다.여기)

이것은 내 driver.exp파일입니다:

#!/usr/bin/expect

spawn construct2d

expect "Input"
send "naca0012.dat\n"

expect "Command"
send "SOPT\n"

expect "Input"
send "NSRF\n"

expect "New value"
send "80\n"

expect "Input"
send "RADI\n"

expect "New value"
send "1\n"

expect "Input"
send "NWKE\n"

expect "New value"
send "1\n"

expect "Input"
send "QUIT\n"

expect "Command"
send "VOPT\n"

expect "Input"
send "JMAX\n"

expect "New value"
send "1\n"

expect "Input"
send "YPLS\n"

expect "New value"
send "5\n"

expect "Input"
send "RECD\n"

expect "New value"
send "1E5\n"

expect "Input"
send "QUIT\n"

expect "Command"
send "GRID\n"

expect "Input"
send "SMTH\n"

expect "Command"
send "QUIT\n"

interact

왜 이런 일이 발생하는지 이해하도록 도와주실 수 있나요?

당신의 도움에 감사드립니다

관련 정보