2012-01-30 1 views
1

작동을 시작하기 위해로드 된 후 "y"키를 눌러야하는 닫힌 소스 응용 프로그램이 있습니다. "y"문자가 승인 된 후 '정상'사용자 입력이 승인 된 방식으로이를 자동화해야합니다. 어떻게 파일을 앱의 stdin으로 스크립팅 한 다음 사용자 입력에 실제 표준을 사용할 수 있습니까?

application < echo "y" 

은 내가

echo "y" 

다음 루트 사용자 입력의 예는/dev/청각 장애

부분을 에뮬레이트하는 스크립트를 필요로 추측 사용자 입력없이 액세스 할 수있는 응용 프로그램을 잎 어쩌면이 질문에 대답하지만 어떻게 기존 응용 프로그램에 적용 할 수 있습니까?

getting-user-input-after-stdin-has-been-redirected-in-a-bourne-script

답변

3

나는 당신이 정말로 필요하면, 그 후, 상기 y 키 누름 및 자동화 대화 형 모드에서 입력 할 수있는 도구라고 생각합니다. 그러한 도구의 예를 보려면 expect을보십시오.

3

이 jcollado의 제안을 구체화하려면

#!/usr/bin/expect -f 
spawn application -with -options 
expect "prompt where you have to enter y" 
send -- "y\r" # the "\r" represents the user "hitting enter" 
interact 
+0

을 나는이 X에서 실행되는 GUI 응용 프로그램에 대한 bash는 스크립트에서 시작이기 때문에이 추가 조사를 할 필요가있다. 나는 당신의 솔루션을 시도했을 때 업데이트 할 것입니다. – rob

+0

@rob,'expect'는 GUI 응용 프로그램을 제어 할 수 없습니다. 당신은 당신의 질문에 그것을 언급했을 것입니다. –

+0

그것은 매우 논리적 인 것처럼 보였습니다 스크립트 스크립트를 실행하면 GUI가됩니다. normal stdin stdout. 내가 얼마나 틀릴 수 있겠습니까? X 윈도우를 이름으로 찾고 키 누르기를 보내는 xdotool을 사용하여 끝났습니다. 이 질문을 삭제할만한 가치가 있습니까? – rob

관련 문제