expect 는 tcl 을 바탕 으로 하 는 도구 이 고 expect 는 자동화 제어 와 테스트 를 하 는 도구 이다.주로 셸 스 크 립 트 에서 대화 할 수 없 는 문 제 를 해결 합 니 다.대규모 리 눅 스 운영 에 도움 이 된다.
리 눅 스 운영 과 개발 에서 우 리 는 원 격 로그 인 서버 를 조작 해 야 한다. 로그 인 하 는 과정 은 상호작용 의 과정 으로 yes/no, password 등 정 보 를 입력 해 야 할 수도 있다.이 입력 을 모 의 하기 위해 서 는 Expect 스 크 립 트 를 사용 할 수 있 습 니 다.expect 설치
yum install expect -y 安装expect服务
expect 기본 명령 1. send: 프로 세 스에 문자열 을 보 내 사용자 의 입력 을 모 의 하 는 데 사용 합 니 다
이 명령 은 자동 으로 차 를 갈 아 탈 수 없 으 며, 일반적으로\r (리 턴) 2. expect
를 추가 해 야 한다.
expect 의 내부 명령 은 마지막 출력 결과 에 지정 한 문자열 이 포함 되 어 있 는 지 판단 하고 있 으 면 즉시 되 돌아 갑 니 다. 그렇지 않 으 면 시간 초과 후 돌아 갑 니 다.
spawn 이 시작 하 는 프로 세 스 의 출력 만 포착 할 수 있 습 니 다.3. spawn: 프로 세 스 를 시작 하고 후속 상호작용 정 보 를 추적 합 니 다.4. interact: 실행 이 끝 난 후에 상호작용 상 태 를 유지 하고 컨트롤 권 을 콘 솔 에 맡 깁 니 다. Timeout: 시간 초과 시간 을 지정 하고 과거 에는 후속 명령
을 계속 수행 합 니 다.
단 위 는: 초
timeout - 1 은 영원히 시간 을 초과 하지 않 는 다
기본적으로 timeout 은 10 초 6. expcontinue
expect 를 계속 아래로 실행 할 수 있 습 니 다. 7. senduser
리 턴 명령 은 echo 8. $argv 매개 변수 배열
에 해당 합 니 다.
expect 스 크 립 트 는 bash 에서 전달 하 는 인 자 를 받 아들 일 수 있 습 니 다. [lindex, $argv n] 을 사용 하여 얻 을 수 있 습 니 다. n 은 0 부터 각각 첫 번 째, 두 번 째 를 표시 합 니 다.9. Expect 스 크 립 트 는 interact 또는 expect eof 로 끝나 야 합 니 다. 자동화 작업 을 수행 하면 보통 expect eof 로 충분 합 니 다
expect eof 는 종료 표 지 를 기다 리 고 있 습 니 다. spawn 에서 시작 하 는 명령 은 끝 날 때 eof 표 시 를 만 듭 니 다. expect eof 는 이 표 시 를 기다 리 고 있 습 니 다.expect 문법 단일 문법 분기