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