Lftp

lftp 使用者憑據不適用於 -e 或 -c

  • September 18, 2018

我想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 解釋的保留字元(然後未正確傳遞給lftplftp -u user,'password':。

引用自:https://unix.stackexchange.com/questions/469787