Expect 스크립트의 Spawn 명령 문제

Expect 스크립트의 Spawn 명령 문제

KALI Linux를 사용하고 있는데 Expect 스크립트를 사용하는 데 몇 가지 문제가 있습니다.

빌드 명령이 아무 작업도 수행하지 않는 이유를 모르겠습니다. 동일한 텍스트만 에코합니다.

#!/usr/bin/expect -f
spawn apt-get install expect

또는

#!/usr/bin/expect -f
spawn ssh 10.10.80.1

내가 그것을 ./test.sh사용하여 실행할 때

spawn apt-get install expect

그리고

spawn ssh 10.10.80.1

내가 뭘 잘못했나요?

답변1

문제는 expect빌드 명령을 실행하는 것입니다. 시작된 apt-get다음 expect스크립트 끝에 도달하여 중지되고 apt-getSIGHUP 신호에 의해 종료됩니다.

최소한 다른 줄을 추가해야 합니다.

expect eof

expect파일 끝에 도달할 때까지 생성된 명령을 읽도록 스크립트에 추가합니다 .

답변2

  • send– 처리할 문자열을 보냅니다.
  • expect– 프로세스에서 특정 문자열을 기다립니다.
  • spawn– 시작 명령

빌드가 시작되는 모든 명령을 꺼야 합니다. 그렇지 않으면 한 줄로 읽혀집니다.

EOF를 사용할 때 예상되는 스크립트는 다음과 같아야 합니다.

#!/usr/bin/expect -f
spawn ssh 10.10.80.1
expect EOF

관련 정보