Wget cria arquivo de saída, mesmo quando a página não existe
Pergunta
Será que é possível prevenir Wget de fazer um arquivo de saída quando há um erro como 404.
Quando eu executo
wget -O my.html http://sdfsdfdsf.sdfds
http: //sdfsdfdsf.sdfds não existe, mas Wget ainda cria my.html
Eu estou fazendo um script e quer se certificar de que pára se wget não pode obter um arquivo válido.
Solução
wget retorna uma resposta diferente de zero para os não-200 respostas (ao que parece).
Este código de exemplo funcionou para mim com GNU wget:
#!/bin/sh
wget -O my.html http://sdfsdfdsf.sdfds
if [ "$?" -ne "0" ]; then
echo "ERROR"
fi
Aqui está mais informações sobre $?
de aqui .
$? o estado de saída do último comando executado é dado como uma string decimal. Quando um comando concluída com êxito, ele retorna o status de saída de 0 (zero), caso contrário devolve uma saída diferente de zero status.
Outras dicas
Você poderia talvez usar onda (1) em vez disso:
curl -s -f -o my.html http://sdfsdfdsf.sdfds