使用shell脚本与程序进行交互

时间:2015-08-28 20:02:40

标签: linux shell ftp

我需要使用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

1 个答案:

答案 0 :(得分:1)

您需要使用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文件中获取用户名和密码。