ファイルのリストをサーバーにアップロードしようとしています。これは私が持っているスクリプトです
files=$(shopt -s nullglob dotglob; echo /media/USB/*) > /dev/null 2>&1
if (( ${#files} ))
then
for file in $files
do
echo "Filename"
echo $file
curl -i -X POST -F files=@$file 192.168.1.122:5000/upload
done
基本的に、私はUSBドライブ上のすべてのファイルを取得して、ローカルサーバーにアップロードしようとしています。curlコマンドは私に問題を与えています。これらのファイルをこのシステムにマウントしているドライブに移動できますが、curlコマンドで送信できませんでした。私は上のバリエーションを試してみました@"$file"
し、@\"$file\"
他の関連質問に基づいていますが、私は仕事にこれを取得することができていません。しかし、面倒なのは、これを行うと次のことです。
curl -i -X POST -F files=@/absolute/path/to/my/file.txt 192.168.1.122:5000/upload
私は期待どおりに動作します。これをループで機能させるにはどうすればよいですか?
そのため、他の誰かがこの問題を抱えている場合に備えて共有する解決策を考え出すことになりました。これで修正された理由は正確にはわかりませんfiles=@$file
が、curlコマンドでを引用符で囲む必要がありました。
curl -i -X POST -F "files=@$file" 192.168.1.122:5000/upload
それはラインの下の誰かに役立つ場合には、ここでこれを残します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加