Bash 程序在几秒钟后终止

Bash 程序在几秒钟后终止

我编写了一个小脚本,用于将文件从 FTP 下载到连接到 Raspberry Pi 3B+ 的外部驱动器。我用来rsync下载我的文件。以下是脚本:

下载.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 秒后程序终止,没有任何错误,并且文件下载停止。有没有办法让脚本保持运行直到所有下载完成?任何帮助将非常感激。

答案1

man 1 expect:

默认超时时间为 10 秒,但可以通过命令设置,例如 30 秒set timeout 30。无限超时可以由值指定-1

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

相关内容