Bash에서 동적 입력을 기대합니다.

Bash에서 동적 입력을 기대합니다.

다음 bash스크립트를 가정합니다 questions.sh.

#!/bin/bash
echo "Hello, who are you?"
read REPLY

그리고 다음 expect스크립트:

#!/usr/bin/expect -f
spawn ./questions.sh # start our script using spawn command
expect "Hello, who are you?\r"
send -- "Im Adam\r"

스크립트는 쉘 스크립트에 대한 응답 봇 역할을 기대합니다. 이제 일부 답변을 동적으로 생성해야 한다고 가정해 보겠습니다. 예를 들어, answers.sh다른 쉘 스크립트( )의 출력을 응답으로 제공하고 싶다고 가정해 보겠습니다 . expect스크립트를 어떻게 수정할 수 있나요 ? 다음을 시도했지만 작동하지 않는 것 같습니다.

#!/usr/bin/expect -f
spawn ./questions.sh # start our script using spawn command
expect "Hello, who are you?\r"
send ./answers.sh

답변1

나는 다음을 생각했다:

#!/usr/bin/expect -f
spawn ./questions.sh # start our script using spawn command
expect "Hello, who are you?\r"
set answer [exec ./answer.sh]
send $answer

관련 정보