
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.