Lftp
lftp 使用者憑據不適用於 -e 或 -c
我想
lftp
用來將文件放在遠端目錄中並在一個命令中退出。按照關於這個任務的這個問題的最佳答案,我嘗試了以下方法:lftp -c "open -u user,pass ftpsite.com; put -O remote/dir/ /local/file.txt"
我收到以下錯誤:
放:登錄失敗: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
但我必須對許多文件執行此操作。我希望能夠在一個命令中執行此操作,以將其作為腳本的一部分執行。有關如何修復此錯誤或從哪裡查看/開始的任何提示?
我在我
lftp
的大部分腳本中使用自動上傳/下載,並且使用 HEREDOC 語法一直有效:lftp -u user,pass ftpsite.com << EOF cd remote/dir/ put /local/file.txt bye EOF
確保您保護您的密碼,
'
因為它可能包含由 shell 解釋的保留字元(然後未正確傳遞給lftp
)lftp -u user,'password'
:。