如何从 Linux Shell 脚本 ftp 和下载文件

举报
Tiamo_T 发表于 2022/03/25 17:10:14 2022/03/25
【摘要】 我想从一个 shell 脚本中执行 ftp,我还想在 shell 脚本本身中提供 FTP 文件下载所需的用户名和密码,能解释一下如何从 shell 脚本执行这个浴 ftp 吗? 要在批处理模式下使用 ftp 下载/上传文件,您可以从命令行使用 HERE 文档使用 FTP 脚本,或从 shell 脚本调用 FTP,如下所述。

我想从一个 shell 脚本中执行 ftp,我还想在 shell 脚本本身中提供 FTP 文件下载所需的用户名和密码,能解释一下如何从 shell 脚本执行这个浴 ftp 吗?

要在批处理模式下使用 ftp 下载/上传文件,您可以从命令行使用 HERE 文档使用 FTP 脚本,或从 shell 脚本调用 FTP,如下所述。

使用 HERE 文档编写 FTP 脚本

$ ftp -in URL << SCRIPTEND
user USERNAME PASSWORD
binary
cd PATH
mget PATH
SCRIPTEND

在上面的 ftp 脚本中:

  • ftp : ftp 命令
  • -i :禁用交互式提示
  • -n :禁用自动登录
  • 用户 USERNAME PASSWORD :使用提供的用户名和密码登录
  • binary : 设置二进制文件传输的二进制模式
  • cd PATH : 更改远程机器中的目录
  • mget PATH : 获取指定文件
  • SCRIPTEND :两个标签都代表 HERE 文档的开始和结束。
  • HERE 文档用于为命令提供输入

使用 Shell 脚本编写 FTP 脚本

以下是从 FTP 服务器下载 tar 文件的示例 shell 脚本脚本。

$ cat download.sh
ftp -in mirrors.issp.co.th << SCRIPTEND
user anonymous test@test.com
binary
cd cpan/authors/id/P/PM/PMQS/
mget Compress-Raw-Bzip2-2.027.tar.gz
SCRIPTEND

执行此 shell 脚本以从 ftp 下载文件。

$ sh download.sh
$ ls
download.sh
Compress-Raw-Bzip2-2.027.tar.gz
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。