lftp - 使用 LFTP 如果存在,我如何将特定文件发送到服务器覆盖?
问题描述
我正在使用 expect 和 lftp 构建一个生产站点更新脚本。
我正在尝试做这个简单的事情:如果文件存在,则发送文件覆盖。但我只是找不到允许我在放置时覆盖目标的命令。如果它是同一个文件,put -c 只会继续。但如果它不同,它什么也不做。
我真的必须检查文件是否存在并将其删除才能将文件放入服务器吗?没有直接命令吗?
如果这是唯一的选择,那么我找不到另一件事:查看文件是否存在的命令。我唯一的选择是处理 ls 的输出?
如果有另一个 ftp 客户端允许我以更简单的方式完成这些事情,我也会接受建议。
解决方案
LFTP 提供了put
一个小写的参数e
。
这允许您在上传文件之前删除文件,而不是覆盖选项(LFTP 似乎本身并不支持)。像这样的东西prompt
可能是可用的,但如果我们严格讨论 LFTP,我建议使用该选项,ala:
put -e file.txt
推荐阅读
- bash - 带有 bash -c 的 exec.Command 不返回标准输出
- java - 从出现在 Windows 文件资源管理器后面的 BAT 启动 javaw JFrame
- python - Python pd.read_excel - 在所有 Excel 表格中查找重复的行
- c# - 如何将 3D 对象转向鼠标
- odoo-13 - 从自定义模块创建发票时出错 (Odoo 13)
- python - 在 python 类中选择一列
- python - PLY 存储完整的功能块
- python - 如何在 python selenium 中向 webdriver 添加 cookie 时编写更简洁的代码
- python - 将 Scrapy 与 Google Cloud Storage 一起用作 Feed 导出时的问题
- java - 在 java 中使用字符串二进制搜索时遇到困难 - 在列表中找不到搜索键