lftp
1つのコマンドを使用してファイルをリモートディレクトリに配置して終了したいと思います。上の回答をフォローこの問題この作業に関しては、以下を試しました。
lftp -c "open -u user,pass ftpsite.com; put -O remote/dir/ /local/file.txt"
次のエラーが発生します。
挿入: ログイン失敗: 530 ボックス: 無効なユーザー資格情報。
私は2回目の答えを試しました
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
'
パスワードには、シェルによって解釈された(そして正しく渡されないlftp
)予約文字が含まれる可能性があるため、次の範囲内でパスワードを保護してくださいlftp -u user,'password'
。