HTTPS 経由でファイルをダウンロードする Curl コマンド

HTTPS 経由でファイルをダウンロードする Curl コマンド

から特定のファイルをダウンロードする必要がありますhttps://file_path。そのために私が使用する curl コマンドは次のとおりです。

curl --user user:password "https://file_path?raw" > location
  1. 上記の「file_path」の場所にあるファイルの実際の内容をダウンロードしたいのですが、どういうわけか curl は HTML コンテンツのみを返します。どうすればこれを修正できますか?
  2. シェルからこのコマンドを実行すると、上記のように実行され、HTML コンテンツがダウンロードされます。しかし、bash スクリプト内から実行すると、何もダウンロードされず、空のファイルが返されます。実行元によって動作が異なるのはなぜでしょうか?

答え1

curl出力をパイプするかどうか、どのオプションを使用するかなどに応じて、stdout と stderr に送信する内容を変更します。ここでなぜこのようなことが起こるのかを正確に知るには、スクリプトを投稿する必要があります。ダウンロードした内容を特定のファイルに強制する最良の方法は、オプションを使用することです-o

curl --user user:password -o output_file "https://file_path?raw"

スクリプトで何を行うかに応じて、-sダウンロードの進行を抑制するオプションを使用することもできます。

関連情報