lftp - 使用 LFTP 如何将特定文件发送到服务器并覆盖该文件(如果存在)?

标签 lftp

我正在使用 Expect 和 lftp 构建生产站点更新脚本。

我有时会尝试做这个简单的事情:发送一个文件并覆盖它(如果存在)。但我只是找不到允许我覆盖放置目的地的命令。如果是同一个文件,则 put -c 会继续。但如果它不同,它什么也不做。

我真的必须检查文件是否存在并将其删除才能将文件放入服务器吗?没有直接命令吗?

如果这是唯一的选择,那么还有一件事我找不到:查看文件是否存在的命令。我唯一的选择是处理 ls 的输出?

如果有另一个 ftp 客户端允许我以更简单的方式完成这些操作,我也接受建议。

最佳答案

LFTP 为 put 提供了一个参数,它是小写的 e

这允许您在上传文件之前删除文件,而不是覆盖选项(LFTP 似乎本身并不支持)。像 prompt 这样的东西可能是可用的,但如果我们严格讨论 LFTP,我建议使用该选项,ala:

put -e file.txt

From the LFTP man pages.

关于lftp - 使用 LFTP 如何将特定文件发送到服务器并覆盖该文件(如果存在)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53438482/

相关文章:

configuration - LFTP:是否为特定服务器保存用户名/密码?

bash - LFTP 未知命令 `;'

docker - 使用 LFTP 的持续部署在大约 10 个文件后暂时获得 "stuck"

linux - 如何将 if 语句放入 lftp block 中

bash - 通过 bash 使用 rm 命令删除 5 天前的文件

linux - 在bash中使用lftp设置umask

ftp - lftp mv 命令失败并显示 "Operation not supported: 501 Not Implemented (MOVE)"

linux - lftp 通过 sftp,上传时找不到文件错误

ftp - lftp:如何递归设置权限;首先按目录而不是按文件