2012-10-25 4 views
1

다음과 같은 expect 스크립트, 원격 호스트의 /tmp/find_users.sh 스크립트가 실행 중이고 그 스크립트의 출력을 수집하려고합니다.Expect 스크립트가 파일의 출력을 수집합니다.

#!/usr/bin/expect 

set timeout 3 
if {[llength $argv] != 1} { 
    puts "usage: ssh-auto host" 
    exit 1 
} 

set host [lindex $argv 0] 
spawn ssh -t -q -oStrictHostKeyChecking=no $host 
expect "passphrase" 
send "XXXXXXX\r" 
expect "$" 
send "/tmp/find_users.sh\r" 
expect eof 

다음과 같은 방법으로 스크립트 출력을 수집하고 있습니다.

./auto-ssh.ex servername > command_output.txt 

문제는 내가 좋은 방법이 확신하지만 난 방법을 모르는 .. 그 추가 서버 프롬프트 및 배너 다른 크랩은 .. 내가 허튼 소리하지 깔끔한 출력을 원하는 출력입니다.

답변

1

원격 쉘을 편집하여 로그 출력을 파일에 추가 할 수 있습니다. 그리고 expect_script의 끝에서 auto_scp를 사용하여 로그 파일을 가져옵니다.

+0

물론, 좋지 않은 생각은 없지만이 문제에서 벗어나는 쉬운 방법은 없습니다. – Satish

관련 문제