2016-11-15 12 views
0

ExpectIt API를 처음 사용합니다. 나는 명령을 실행할 수 있고 응답을 받았지만, 이스케이프 키 (ctrl + shift + 6)를 주어 명령 실행을 멈출 수는 없습니다.ExpectIt API에서 이스케이프 키 (ctrl + shift + 6)를 보내는 방법

ExpectIt API를 통해 명령 실행을 중단하기 위해 어떻게 터미널에 이스케이프 키를 보낼 수 있습니까?

R1#ping ip 192.168.1.1 
    Type escape sequence to abort. 
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds: 
.... <div style="color:red"><b>I pressed escapse character here</b></div> 
Success rate is 0 percent (0/4) 
R1# 

답변

0

예를 나는 다음과 같은으로 컨트롤 키를 두 번 전송하여 라우터에서 실행중인 명령을 중단했다.

char ctrlKey = (char) Integer.parseInt("1E", 16); 
expect.send(ctrlKey); 
Thread.sleep(1000); 
expect.send(ctrlKey); 

나는 expectIt의 소스를 가져 와서 다음 클래스를 변경했습니다.

ExpectImpl.java 
//private final OutputStream output; 
private final Writer output; // use Writer instead of using OutputStream 
+0

Expect # sendBytes 메소드를 사용해 보셨습니까? exepect.sendBytes (새 바이트 [] {30}) (30 진수 = 1E 16 진수)와 같은 방식으로 작동해야합니다. –

+0

예 OutputStream을 시도했습니다. 그건 효과가 없었어. – Visva

+0

출력 스트림을 통해서도 작동합니다. Writer를 사용할 필요가 없습니다. 작동하지 않는 정확한 코드를 표시 할 수 있습니까? 근본 원인을 조사하고 ExpectIt을 변경합니다. –