![Expect 스크립트의 Spawn 명령 문제](https://linux55.com/image/92413/Expect%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98%20Spawn%20%EB%AA%85%EB%A0%B9%20%EB%AC%B8%EC%A0%9C.png)
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-get
SIGHUP 신호에 의해 종료됩니다.
최소한 다른 줄을 추가해야 합니다.
expect eof
expect
파일 끝에 도달할 때까지 생성된 명령을 읽도록 스크립트에 추가합니다 .
답변2
send
– 처리할 문자열을 보냅니다.expect
– 프로세스에서 특정 문자열을 기다립니다.spawn
– 시작 명령
빌드가 시작되는 모든 명령을 꺼야 합니다. 그렇지 않으면 한 줄로 읽혀집니다.
EOF를 사용할 때 예상되는 스크립트는 다음과 같아야 합니다.
#!/usr/bin/expect -f
spawn ssh 10.10.80.1
expect EOF