我想使用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匿名登录确定,发送你的 完整的电子邮件地址作为您的密码
仍有提示输入用户名。我没有得到这个,我没有看到错误...感谢您的任何建议
答案 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是否已经定义了环境。它不在剧本中。