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.sh
FTPにログインしてファイル転送を開始しますが、5〜6秒後にプログラムがエラーなく終了し、ファイルのダウンロードも停止します。すべてのダウンロードが完了するまでスクリプトを実行し続ける方法はありますか?どんな助けでも大変感謝します。
答え1
~からman 1 expect
:
デフォルトのタイムアウトは10秒ですが、コマンドで設定できます(例:30秒)
set timeout 30
。無限タイムアウトはvalueとして指定できます-1
。
set timeout -1
以前と同じでなければなりませんexpect eof
。