Verifique em um diretório da Web se existe um arquivo, se não, saia

Verifique em um diretório da Web se existe um arquivo, se não, saia

Preciso verificar se existe um arquivo em um diretório da web. se o arquivo existir, gostaria de executar um script bash. Caso contrário, saia e não execute o script bash.

Aqui está o que tenho até agora (em um 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

Responder1

Você pode 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

Isso funcionará apenas se o servidor retornar um 404 caso o arquivo não exista. Se o site não retornar um 404, você precisará adaptar seu comando if check, possivelmente verificando a saída curl.

informação relacionada