2011-10-22 2 views
0

TCL로 이전 명령의 출력을 얻는 방법을 알고 싶습니다.TCL 데이터 캡처 문제 - 예상

는 지금의 구조는 다음과 같습니다

exp_send -i $spawn_id "show port-access supplicant\r" 

set buff "" 
expect -regexp {".*"} 
    expect -regexp ".*#" {send "show port-access supplicant\r"} 
expect eof 

*이 시점에서이 명령은 올바른 정보를 반환하지만 나는 변수로 저장하는 방법을 모르겠어요.

expect_out에 대해 읽었지만 작동하지 못했습니다!

답변

0

예상 버퍼를 사용하여이 작업을 수행 할 수 있습니다. 다음 시도

expect -regexp ".#" {send "show port-access supplicant\r"} 
expect -regexp ".#"; #Match the prompt again after the device output returns 

을 그리고 : 당신이 경기를 완료

puts $expect_out(buffer) 
+0

안녕하세요, 이것은 내가 무엇을 얻을 수 있습니다. 나는 다음과 같은 출력을 받고 있어요 : - 끝 Client_A 번호 - 1234 (123) Client_A을 # 내가 박았 사용하고 "1,234 - $의 expect_out (버퍼) - 123"... 난 이유를 모르겠어 '해요 올바른 정보 출력받지 : 포트 액세스 요청자 상태 요청자 개최 인증 시작 최대 포트 주 기간 시간 초과 기간 시작 포트 신원 1 인증 60 30 30 3 사용자 @의 니얼 - 바 이른 – Marco

+0

내 모든 문제를 Regex입니다. 지금 매개 변수를 조정하고 있습니다. 감사합니다. r 빛을주세요! – Marco