Bash 프로그램은 몇 초 후에 종료됩니다.

Bash 프로그램은 몇 초 후에 종료됩니다.

FTP에서 Raspberry Pi 3B+에 연결된 외부 드라이브로 파일을 다운로드하는 작은 스크립트를 작성했습니다. 나는 rsync내 파일을 다운로드하는 데 사용합니다. 스크립트는 다음과 같습니다.

다운로드.sh:

#!/bin/bash

sudo rync -P -r -e ssh user@host:/path/* /local/directory

비밀번호를 처리하기 위해 비밀번호.sh가 있습니다.

#!/usr/bin/expect

spawn ./download.sh
expect "password: "
send -- "mypassword"
expect eof

실행하면 password.shFTP에 로그인해서 파일전송을 시작하는데 5~6초 후에 프로그램이 오류없이 종료되고 파일다운로드도 멈춥니다. 모든 다운로드가 완료될 때까지 스크립트를 계속 실행하는 방법이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.

답변1

~에서man 1 expect:

기본 시간 초과는 10초이지만 명령을 통해 설정할 수 있습니다(예: 30초 ) set timeout 30. 무한 시간 초과는 value 로 지정할 수 있습니다 -1.

set timeout -1이전과 동일 해야 합니다 expect eof.

관련 정보