【问题标题】:Using a shell script to interact with programs使用 shell 脚本与程序交互
【发布时间】:2015-08-28 20:02:40
【问题描述】:

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

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

这行得通吗?是否有另一种从 shell 脚本中与 FTP 交互的方法?任何帮助表示赞赏!

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

【问题讨论】:

  • 感谢您插入代码。我的 tab 键坏了。
  • tab 在 html 文本框中?使用 4 spaces

标签: linux shell ftp


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 2016-05-29
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2011-03-27
    相关资源
    最近更新 更多