我想用lftp
一个命令将文件放入远程目录并退出。按照最高答案这个问题关于这个任务,我尝试了以下操作:
lftp -c "open -u user,pass ftpsite.com; put -O remote/dir/ /local/file.txt"
我收到以下错误:
put:登录失败:530 框:用户凭据无效。
我尝试了第二个答案
lftp -e "put -O remote/dir/ /local/file.txt; bye" -u user,pass ftpsite.com
并收到同样的错误。
一步一步做一切都很完美,即,
lftp ftpsite.com -u user,pass
put -O remote/dir/ /local/file.txt
bye
但我必须对许多文件执行此操作。我希望能够通过一个命令来完成此操作,将其作为脚本的一部分运行。有关如何修复此错误或从哪里查找/开始的任何提示?
答案1
我lftp
在大多数脚本中使用自动上传/下载,并且使用 HEREDOC 语法始终有效:
lftp -u user,pass ftpsite.com << EOF
cd remote/dir/
put /local/file.txt
bye
EOF
请确保在以下范围内保护您的密码,'
因为它可能包含由 shell 解释的保留字符(然后不会正确传递到lftp
):lftp -u user,'password'
。