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

関連情報