Ssh

Bash 程序在幾秒鐘後終止

  • July 16, 2019

我編寫了一個小腳本來將文件從 FTP 下載到連接到我的 Raspberry Pi 3B+ 的外部驅動器。我rsync用來下載我的文件。以下是腳本:

download.sh:

#!/bin/bash

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

要處理密碼,我有 password.sh:

#!/usr/bin/expect

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

當我執行時password.sh,它會登錄到 FTP 並開始文件傳輸,但 5-6 秒後程序終止且沒有任何錯誤,並且文件下載停止。有什麼方法可以讓腳本一直執行直到所有下載完成?任何幫助將不勝感激。

來自man 1 expect

預設超時時間為 10 秒,但可以通過命令設置,例如設置為 30 秒set timeout 30。值可以指定無限超時-1

你需要像set timeout -1以前一樣expect eof

引用自:https://unix.stackexchange.com/questions/530439