프로그램을 실행하고 입력 제공

프로그램을 실행하고 입력 제공

명령줄에서 실행하는 프로그램이 있습니다. 일단 실행되면 텍스트 값을 요청하고 그 후에 Return 키를 누를 것으로 예상합니다.

이 프로그램을 실행하고 프롬프트가 나타날 때까지 기다린 다음(2초라고 가정) 텍스트와 Enter 키를 제공하는 bash 스크립트를 만드는 것이 가능합니까?

편집하다:

Expect를 사용하여 이 스크립트를 만들었지만 작동하지 않습니다.

#!/usr/bin/expect -f

set timeout 15
set user "myusername"
set server "x.x.x.x"

spawn ssh -l $user -p AAAA $server
expect "[email protected]'s password: "
send "the password\r"

여기서 AAAA는 포트이고 xxxx는 IP입니다.

이 스크립트를 실행하면 거의 즉시 완료되고 아무 일도 일어나지 않습니다.

답변1

지금은 작동하지만 스크립트를 다음과 같이 변경했습니다.

#!/usr/bin/expect -f

set timeout 15
set user "myusername"
set server "x.x.x.x"

spawn ssh -l $user -p AAAA $server
expect "[email protected]'s password: " { send "the password\r" }
interact

관련 정보