expect는 리눅스 혹은 유닉스에 있는 script language이다.
일반 쉘을 이용할 경우, ssh, scp, passwd 변경등을 할 때, script로 처리할 수 없고, console창에
interactive하게 입력해야 한다. 이럴 경우에 사용할 수 있는 script language가 expect이다.
expect는 화면에 특정 문자열이 왔을 때, 응답으로 어떤 문자열로 응답하는 식의 처리가 가능하다.
이를 이용해 ssh 자동 접속 쉘, scp 접속 쉘, passwd 변경 쉘 등을 만들어 보겠다.
expect에 대해서 더 정확한 문법을 알고 싶다면, 다음 URL을 참조하기 바란다.
파일명 |
ssh.exp |
파일 내용 |
#!/usr/bin/expect proc usage {} { set argc [llength $argv] if { $argc != 3 } { set timeout -1 spawn ssh $USERID@$HOST expect { interact |
실행 방법 |
ssh.exp ip_address userid passwd ex) ssh.exp 10.10.10.1 noritor noritor123 |
위의 표의 파일명과 파일 내용으로 파일을 만든 뒤, 파일 권한을 실행 가능하게 변경한 뒤, 실행방법대로 실행하면 된다. 배포 쉘을
만들 때 꽤 유용하게 쓰인다.
'UNIX&LINUX > 쉘스크립트' 카테고리의 다른 글
[Shell Script] 비교 표현식 gt lt ge le eq ne (0) | 2017.11.14 |
---|---|
[Shell Script] 글자 속성, 색깔 지정 (0) | 2017.11.14 |
expect를 이용한 자동화(3) - 원격 장비 passwd 변경 (0) | 2014.07.17 |
expect를 이용한 자동화(2) - scp (0) | 2014.07.17 |
쉘스크립트 컬러 넣는 법 (0) | 2014.07.14 |
grep 제외문자열 -v -Ev (0) | 2014.07.14 |
쉘 스크립트 연산자 (0) | 2014.07.14 |
쉘스크립트 기본 if문 (0) | 2014.07.14 |