linux - 使用 shell 脚本与程序交互

标签 linux shell ftp

我需要使用 shell 脚本通过 FTP 上传文件。 我可以从脚本与 FTP 交互吗?我的脚本在 http://pastebin.com/A76fsaM3

cd MyLocalUploadDir
ftp
open ftp.server.com
myusername
mypassword
put LocalIteam.TXT

这行得通吗?有没有其他方法可以在 shell 脚本中与 FTP 交互?感谢您的帮助!

参见 http://www.tldp.org/HOWTO/FTP-3.html有关与 FTP 交互的信息。

最佳答案

您需要使用 here-doc。否则,ftp 之后的行将不会用作程序的输入。

cd MyLocalUploadDir
ftp <<EOF
open ftp.server.com
myusername
mypassword
put LocalIteam.TXT
quit
EOF

您还可以使用 .netrc 文件避免将用户名和密码放入脚本中。

而不是使用 ftp 程序,您可以使用 curl 在一行中完成它。

curl --upload-file MyLocalUploadDir/LocalIteam.TXT 'ftp://myusername:mypassword@ftp.server.com/'

您还可以使用--netrc 选项来curl 告诉它从.netrc 文件中获取用户名和密码。

关于linux - 使用 shell 脚本与程序交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32278958/

相关文章:

c - Linux shell 不执行我的 c 程序

linux - 将程序的输出日志传递给函数,同时将返回码存储在变量中

ftp - Phing - 使用 FTP 部署但仅在大小更改时覆盖

Java 和 FTP 编辑在线文本文件

php - 使用PHP通过FTP上传文件

c++ - 增加 X11 R6 中的字体大小和属性

java - Eclipse Virgo : Different startup order on Linux vs. Windows => 如何修复?

java - Linux 上采用 OpenJDK11 选择

linux - 如何在Linux中为所有用户安装程序而不仅仅是root用户?

shell - 如何添加 shell 命令并在 Fortran 程序中使用结果?