Shell의 자동화된 상호작용을 실현하기 위한 예상 명령을 설명하는 예
이 글에서는 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는 명령 프롬프트 정보가 나타날 때까지 기다립니다. 즉, 사용자 입력에 대한 프롬프트를 캡처합니다.
- send는 사용자 설명서를 대체하여 상호 작용이 필요한 값을 보냅니다. input
- set은 변수 값
- 을 설정합니다. 실행이 완료된 후에도 대화형 상태가 유지되며 제어권이 콘솔에 넘겨집니다. 해당 문장이 없을 경우 원격 단말기에 머무르지 않고 로그인 완료 후 종료됩니다.
- expect eof를 추가해야 합니다. 이는 if....endif
- expect 스크립트와 유사하게 캡처 터미널 출력 정보가 종료됨을 의미합니다. 일반적으로 예상 eof는 다음과 같습니다. 자동화된 작업을 수행하는 데 사용됩니다.
기타 설정
- 시간 초과가 발생하지 않을 것으로 예상 설정 시간 초과 설정 -1
- 300초 시간 초과 예상을 설정합니다. 300초 이상 콘텐츠가 표시되지 않으면 시간 초과 설정 300을 종료합니다.
- 쓰기 구문 예상
expect는 tcl 구문을 사용합니다
- Tcl 명령은 공백으로 구분된 단어로 구성됩니다. 그 중 첫 번째 단어는 명령 이름이고 나머지는 명령 매개변수입니다.
- cmd arg arg
- $foo
- [cmd arg]
- "some stuff"
안에 해석됩니다. 중괄호는 명령의 매개변수로 표시된 문구도 표시합니다. 그러나 중괄호 안의 다른 기호는 해석되지 않습니다. - {some stuff}
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











sudo 명령을 사용하면 사용자는 수퍼유저 모드로 전환하지 않고도 상승된 권한 모드에서 명령을 실행할 수 있습니다. 이 기사에서는 Windows 시스템에서 sudo 명령과 유사한 기능을 시뮬레이션하는 방법을 소개합니다. 슈도사령부란 무엇인가? Sudo("superuser do"의 약어)는 Linux 및 MacOS와 같은 Unix 기반 운영 체제 사용자가 일반적으로 관리자가 보유하는 높은 권한으로 명령을 실행할 수 있도록 하는 명령줄 도구입니다. Windows 11/10에서 SUDO 명령 실행 그러나 최신 Windows 11 Insider 미리 보기 버전이 출시되면서 Windows 사용자는 이제 이 기능을 경험할 수 있습니다. 이 새로운 기능을 통해 사용자는 다음을 수행할 수 있습니다.

Huawei 휴대폰에서 이중 WeChat 로그인을 구현하는 방법은 무엇입니까? 소셜 미디어의 등장으로 WeChat은 사람들의 일상 생활에 없어서는 안될 커뮤니케이션 도구 중 하나가 되었습니다. 그러나 많은 사람들이 동일한 휴대폰에서 동시에 여러 WeChat 계정에 로그인하는 문제에 직면할 수 있습니다. Huawei 휴대폰 사용자의 경우 듀얼 WeChat 로그인을 달성하는 것은 어렵지 않습니다. 이 기사에서는 Huawei 휴대폰에서 듀얼 WeChat 로그인을 달성하는 방법을 소개합니다. 우선, 화웨이 휴대폰과 함께 제공되는 EMUI 시스템은 듀얼 애플리케이션 열기라는 매우 편리한 기능을 제공합니다. 앱 듀얼 오픈 기능을 통해 사용자는 동시에

이 문서에서는 명령 프롬프트(CommandPrompt)를 사용하여 Win11 시스템에서 네트워크 어댑터의 물리적 주소(MAC 주소)를 찾는 방법을 독자에게 소개합니다. MAC 주소는 네트워크 통신에서 중요한 역할을 하는 네트워크 인터페이스 카드(NIC)의 고유 식별자입니다. 명령 프롬프트를 통해 사용자는 현재 컴퓨터에 있는 모든 네트워크 어댑터의 MAC 주소 정보를 쉽게 얻을 수 있으며 이는 네트워크 문제 해결, 네트워크 설정 구성 및 기타 작업에 매우 유용합니다. 방법 1: "명령 프롬프트" 사용 1. [Win+X] 키 조합을 누르거나 [마우스 오른쪽 버튼 클릭] 작업 표시줄의 [Windows 로고]를 클릭하고 메뉴 항목이 열리면 [실행]을 선택합니다. .창을 실행하고 [cmd] 명령어를 입력한 후

Win11 시스템에서는 명령을 통해 Hyper-V 고급 세션 모드를 활성화하거나 비활성화할 수 있습니다. 이 문서에서는 명령을 사용하여 사용자가 시스템에서 Hyper-V 기능을 더 잘 관리하고 제어할 수 있도록 돕는 방법을 소개합니다. Hyper-V는 Microsoft에서 제공하는 가상화 기술로 Windows Server와 Windows 10 및 11(Home Edition 제외)에 내장되어 있어 사용자가 Windows 시스템에서 가상 운영 체제를 실행할 수 있습니다. 가상 머신은 호스트 운영 체제에서 격리되어 있지만 설정을 통해 사운드 카드, 저장 장치 등 호스트 리소스를 계속 사용할 수 있습니다. 주요 설정 중 하나는 고급 세션 모드를 활성화하는 것입니다. 고급 세션 모드는 Hyper입니다.

1. 개요 sar 명령은 시스템 활동에서 수집된 데이터를 통해 시스템 사용 보고서를 표시합니다. 이러한 보고서는 다양한 섹션으로 구성되어 있으며 각 섹션에는 데이터 유형과 데이터 수집 시기가 포함되어 있습니다. sar 명령의 기본 모드는 CPU에 액세스하는 다양한 리소스(예: 사용자, 시스템, I/O 스케줄러 등)에 대해 다양한 시간 증분으로 CPU 사용량을 표시합니다. 또한 특정 기간 동안 유휴 CPU의 비율을 표시합니다. 각 데이터 포인트의 평균값은 보고서 하단에 나열됩니다. sar 보고서는 기본적으로 10분마다 데이터를 수집하지만 다양한 옵션을 사용하여 이러한 보고서를 필터링하고 조정할 수 있습니다. uptime 명령과 마찬가지로 sar 명령도 CPU 로드를 모니터링하는 데 도움이 될 수 있습니다. sar를 통해 과도한 부하 발생을 이해할 수 있다.

프로그래밍 언어 PHP는 다양한 프로그래밍 논리와 알고리즘을 지원할 수 있는 강력한 웹 개발 도구입니다. 그중 피보나치 수열을 구현하는 것은 일반적이고 고전적인 프로그래밍 문제입니다. 이 기사에서는 PHP 프로그래밍 언어를 사용하여 피보나치 수열을 구현하는 방법을 소개하고 구체적인 코드 예제를 첨부합니다. 피보나치 수열은 다음과 같이 정의되는 수학적 수열입니다. 수열의 첫 번째와 두 번째 요소는 1이고 세 번째 요소부터 시작하여 각 요소의 값은 이전 두 요소의 합과 같습니다. 시퀀스의 처음 몇 가지 요소

Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 방법 소셜 소프트웨어의 인기와 개인 정보 보호 및 보안에 대한 사람들의 강조가 높아지면서 WeChat 복제 기능이 점차 주목을 받고 있습니다. WeChat 복제 기능을 사용하면 사용자가 동일한 휴대폰에서 여러 WeChat 계정에 동시에 로그인할 수 있으므로 관리 및 사용이 더 쉬워집니다. Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 것은 어렵지 않습니다. 다음 단계만 따르면 됩니다. 1단계: 휴대폰 시스템 버전과 WeChat 버전이 요구 사항을 충족하는지 확인하십시오. 먼저 Huawei 휴대폰 시스템 버전과 WeChat 앱이 최신 버전으로 업데이트되었는지 확인하세요.

Linux에서 서비스를 다시 시작하는 올바른 방법은 무엇입니까? Linux 시스템을 사용하다 보면 서비스를 다시 시작해야 하는 상황이 자주 발생하지만, 서비스를 다시 시작할 때 서비스가 실제로 중지되지 않거나 시작되지 않는 등의 문제가 발생할 수도 있습니다. 따라서 서비스를 다시 시작하는 올바른 방법을 익히는 것이 매우 중요합니다. Linux에서는 일반적으로 systemctl 명령을 사용하여 시스템 서비스를 관리할 수 있습니다. systemctl 명령은 systemd 시스템 관리자의 일부입니다.
