Überprüfen Sie ein Webverzeichnis, ob eine Datei vorhanden ist. Wenn nicht, beenden Sie den Vorgang.

Überprüfen Sie ein Webverzeichnis, ob eine Datei vorhanden ist. Wenn nicht, beenden Sie den Vorgang.

Ich muss prüfen, ob eine Datei in einem Webverzeichnis vorhanden ist. Wenn die Datei vorhanden ist, möchte ich ein Bash-Skript ausführen. Wenn nicht, beenden Sie das Programm und führen Sie das Bash-Skript nicht aus.

Folgendes habe ich bisher (in einem Bash-Skript):

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

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

Antwort1

Sie können dies mit curl überprüfen:

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

Dies funktioniert nur, wenn der Server eine 404-Fehlermeldung zurückgibt, da die Datei nicht existiert. Wenn die Site keine 404-Fehlermeldung zurückgibt, müssen Sie Ihren if check-Befehl anpassen und ggf. die Curl-Ausgabe überprüfen.

verwandte Informationen