FTP通过shellscript

时间:2016-01-07 22:04:59

标签: bash shell ftp

我想使用shellscript上传文件。我知道scp是解决此类任务的更好方法,但我需要使用FTP。这就是我得到的:

#!/bin/bash
HOST='myServer'
USER='anonymous'
PASSWD=''
DIR = '/Public'

ftp -n -v $HOST << EOT
user $USER $PASSWD
prompt
cd $MYDIRECTORY
mput cam.jpg
bye
EOT

匿名用户可以访问目录公开。我会得到这样的答复:

  

已连接到myServer   220一些文字
  331匿名登录确定,发送你的   完整的电子邮件地址作为您的密码

仍有提示输入用户名。我没有得到这个,我没有看到错误...感谢您的任何建议

3 个答案:

答案 0 :(得分:0)

匿名登录需要密码,但您尝试发送空密码。将其更改为:

tried = 0

while tried < 3:
    try:
        function()
        break
    except Exception as e:
        print e
        tried += 1    

答案 1 :(得分:0)

嗯,至少这应该有用,但我认为你的问题有更好的解决方案。

尝试

PASSWD='\n'

这应该“有效”并解决您的问题。

答案 2 :(得分:0)

建议:确保您可以使用“匿名”ID进行交互式登录,并且可以正常使用

我注意到的另一件事,你应该删除等号前后的空格。否则bash会说'第5行:DIR:命令未找到'

DIR = '/Public'

此外,还不清楚$ MYDIRECTORY是否已经定义了环境。它不在剧本中。