Verifique un directorio web para ver si existe un archivo; si no, salga

Verifique un directorio web para ver si existe un archivo; si no, salga

Necesito verificar si existe un archivo en un directorio web. Si el archivo existe, me gustaría ejecutar un script bash. Si no es así, salga y no ejecute el script bash.

Esto es lo que tengo hasta ahora (en un script bash):

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

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

Respuesta1

Puedes verificar usando curl:

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

Esto funcionará solo si el servidor devuelve un 404 en caso de que el archivo no exista. Si el sitio no devuelve un 404, deberá adaptar su comando if check, posiblemente verificando la salida curl.

información relacionada