이 글에서는 Shell의 자동화된 상호작용을 구현하기 위한 Expect 명령을 예제와 함께 설명하겠습니다. Shell을 통해 루프, 판단 등 간단한 제어 흐름 기능을 구현할 수 있습니다. 다음 글에서는 주로 쉘 자동화 상호작용을 구현하기 위한 Expect 명령에 대한 관련 정보를 소개하고 있으며, 샘플 코드를 통해 자세히 소개하고 있으니 함께 살펴보도록 하겠습니다.
Background
Linux 스크립트에는 원격 로그인 ssh, 원격 복사 scp, 파일 전송 sftp 등과 같은 원격 작업을 위한 많은 시나리오가 있습니다. 이러한 명령에는 모두 보안 암호 입력이 포함됩니다. 명령을 정상적으로 사용하려면 암호를 수동으로 입력하고 보안 확인을 수락해야 합니다. 자동화된 원격 작업을 달성하기 위해 예상 기능을 빌릴 수 있습니다.
expect는 사람의 개입 없이 통신하기 위해 자동화된 대화형 작업을 구현하는 데 사용되는 무료 프로그래밍 도구 언어입니다. Expect는 시간이 지날수록 그 기능이 더욱 강력해지며 시스템 관리자를 위한 강력한 보조자가 되었습니다. Expect를 사용하려면 Tcl 프로그래밍 언어 지원이 필요합니다. 시스템에서 Expect를 실행하려면 먼저 Tcl을 설치해야 합니다.
expect install
expect는 Tcl을 기반으로 생성되므로, Expect를 설치하기 전에 Tcl을 먼저 설치해야 합니다.
(1) Tcl 설치
홈페이지: http://www.tcl.tk
다운로드 주소: http://www.tcl.tk/software/tcltk/downloadnow84.tml
1. 소스 코드 패키지
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
2를 다운로드합니다.3. 설치 및 구성
tar xfvz tcl8.4.11-src.tar.gz
참고:
1 설치가 완료된 후 tcl 소스 코드의 루트 디렉터리에 들어가서 tclUnixPort를 복사합니다. .h 하위 디렉토리 unix에서 하위 디렉토리 generic으로 이동합니다.
2. tcl 소스 코드는 아직 설치 프로세스에 필요하므로 삭제하지 마세요.
(2) 설치 예상(Tcl 라이브러리 필요)
홈페이지: http://expect.nist.gov/
1. 소스 코드 패키지를 다운로드합니다
cd tcl8.4.11/unix ./configure --prefix=/usr/tcl --enable-shared make make install
2. 소스 코드 패키지의 압축을 풉니다
wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download
. 3. 설치 및 구성
tar xzvf expect5.45.tar.gz
expect
expect의 핵심은 생성, 예상, 전송 및 설정입니다.
spawn은 실행할 명령을 호출합니다
기타 설정
expect는 tcl 구문을 사용합니다
login.exp는 원격 로그인 전용, 바로가기 방법입니다. : login.exp "exclude" "${remote_ip} " "${remote_user}" "${remote_passwd}" "${remote_command}"
cd expect5.45 ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.11/generic make make install ln -s /usr/tcl/bin/expect /usr/expect/bin/expect
모두 익히셨나요? 이 기사를 읽은 후 쉘 자동화 상호 작용에 대해 더 깊이 이해하게 되기를 바랍니다.
관련 권장사항:
Linux 쉘 제작 녹화 및 재생 기능 스크립트Python은 쉘 sed 대체 단순 기능을 구현합니다.Linux 쉘 ftp 방식을 사용하여 날짜에 따라 파일을 다운로드합니다위 내용은 Shell의 자동화된 상호작용을 실현하기 위한 예상 명령을 설명하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!