ダウンロード前にカーリングの長い遅延[閉じる]

ダウンロード前にカーリングの長い遅延[閉じる]

Webディレクトリにファイルがあることを確認するbashスクリプトがあります。ファイルが存在しない場合は終了します。ファイルがWebディレクトリにある場合はダウンロードされます。

しかし、スクリプトはうまく動作します。 「存在」条件が満たされた後、実際にスクリプト(ライン4)をトリガーする前に、5分以上の遅延が測定されました。

このスクリプトでスクリプトの実行を遅らせるものがありませんか?

Bashスクリプトコード:

url="http://website.url/directory/file.txt"

if curl -f ${url} >/dev/null 2>&1; then
  bash some_bash_script.sh
else
  exit 0
fi

答え1

wget --spider結局、長いダウンロード遅延を迂回するために使用されますcurl

修正されたBashスクリプト:

url="http://website.url/directory/file.txt"

if wget --spider ${url} >/dev/null 2>&1; then
  bash some_bash_script.sh
else
  exit 0
fi

答え2

次のようにすることもできます。

curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1

源泉:https://stackoverflow.com/questions/2924422/how-do-i-define-if-a-web-page-exists-with-shell-scripting

if $?
; then
  bash somescript.sh
else
  exit 0
fi

@zneakのクレジット

関連情報