Linux Apache URL にイメージがあることを確認します。

Linux Apache URL にイメージがあることを確認します。

私はLinuxコマンドを使ってローカルサーバーにファイルがあるかどうかを確認するプログラムを書いています。

プログラムは提供された引数を使用してコマンドを実行します。

ls *ARG_GOES_HERE* &> /dev/null

次に、ステータスを確認してファイルが見つかるかどうかを確認します。

問題は、時にはファイルがこのような直接パスではないということです。

/var/www/html/images/myImage.jpg

時々、画像位置はネットワーク位置を使用して保存される。

http://192.168.1.2/images/myImage.jpg

Linuxコマンドに失敗しました。

bashを使用してローカルのApacheの場所に画像があるかどうかを確認できますか?

ベストアンサー1

あなたはそれを使用することができますcurlこのコマンドは、ファイルが存在し、HTTP経由でアクセスできることを確認します。次のことがあなたに役立つでしょう:

path_to_file=images/myImage.jpg
if curl --head --location --silent --fail "http://192.168.1.2/$path_to_file" > /dev/null
then
    printf "%s exists\n" "$path_to_file"
else
    printf "%s does not exist\n" "$path_to_file"
fi

curl次のオプションを使用してください。

  • --head- HTTPヘッダーのみを取得する(本文は不要)
  • --location- HTTPリダイレクトに従います。
  • --silent- 進行状況インジケータまたはエラーメッセージは表示されません。
  • --fail- curlHTTP要求が失敗すると、コマンドはエラー状態で失敗します。たとえば、Webサーバーが404で応答すると、コマンドはcurl0(成功)ではなく状態22(エラー)で終了します。

おすすめ記事