반응형
expect에서 함수 사용 법
아래 형식으로 코드 상단 부에 선언
proc 함수명 {인자} { 내용 } |
사용은 그냥 함수명 한칸 띄고 매개변수 적으면 된다.
아래는 예제
#!/usr/bin/expect -f set ID [lindex $argv 0] set PASSWD [lindex $argv 1] set IP [lindex $argv 2] # 함수 선언 proc connect {PASSWD} { expect { "*assword: " { send "$PASSWD\n" delimiter expect { "*#" { return 0 } } } } puts " -Error. login\n" return 1 } # 명령어 실행 spawn ssh $ID@$IP # 함수 실행해서 결과값에 맞춰 처리 set RESULT [connect $PASSWD] if { $RESULT != 0 } { puts "-- exit --" exit 1 } puts "-- success --" expect "*#" {
send "exit\n"
}
# 종료
expect eof
|
스크립트에 id, password, ip주소를 매개변수로 받아서
ssh로 접속하고
실패하면 exit 찍고 종료
성공하면 success 찍고 엔터한번 치고 종료
끝
'IT > Programing' 카테고리의 다른 글
[Android] Android Studio 설치 (0) | 2022.04.11 |
---|---|
[Expect] 정규표현식 비교 함수 (0) | 2020.05.10 |
언리얼엔진 무료 강좌 (0) | 2020.04.28 |
[Bash Shell Script] tcpdump 패킷 저장 예제 (with signal) (0) | 2020.04.13 |
[Python] getopt (스크립트 매개변수 지정) (0) | 2020.04.07 |