운영체제

Linux expect 예제

warpmemory 2020. 3. 7. 15:10

expect를 사용하여, 입력받은 원격 서버에 파일 전송 및 명령어 실행하는 예제입니다.

root 계정 및 PASSWORD 값을 변경해서 사용하면 됩니다.

#!/usr/bin/expect -f

if($argc < 1){
    send_user "Usage: get.exp [server]\n"
    exit
}

set server [lindex $argv 0]

spawn scp test.txt root@${server}:/root/test.txt
spawn ssh root@${server} "cat /root/test.txt"

expect {
    -re ".*es.*o.*" {
    exp_send "yes\r"
    exp_continue
    }
    -re ".*sword.*" {
    exp_send "PASSWORD\r"
    }
}
interact