使用 bash 将命令发送到 LFTP,然后保持交互模式



原谅措辞;15 年没有对 bash 做任何事情了。

我正在尝试编写一个 shell 脚本,该脚本将运行并连接到 lftp,然后执行几个命令,特别是:

set ftp:ssl-force on
set ftp:ssl-protect-data on
set ssl:verify-certificate no

然后我想留在 lftp 中,以便我可以发送其他命令(例如,我不知道我正在下载什么文件名,直到我可以在远程目录上执行 ls)。

当我尝试编写一个 bash 脚本以将命令通过管道传输到 lftp 时,它可以工作,但当它到达脚本的最后一行时也会立即退出 lftp。 有没有办法防止这种情况发生?

使用 lftp 的-e选项:

lftp -e 'set ftp:ssl-force on; set ftp:ssl-protect-data on; set ssl:verify-certificate no'

根据lftp的手册:

  • -e 命令
    执行给定的命令并且不退出。

在脚本后连接 stdin

(英语:concat stdin)
cat yourscript /dev/stdin | your_tftp_command

cat 也接受-作为 stdin 的特殊文件名参数

cat yourscript - | your_tftp_command

相关内容

  • 没有找到相关文章

最新更新