Wget crée un fichier de sortie, même si la page n'existe pas
Question
Est-il possible d'empêcher Wget de faire un fichier de sortie quand il y a une erreur comme 404.
Quand je lance
wget -O my.html http://sdfsdfdsf.sdfds
http: //sdfsdfdsf.sdfds n'existe pas, mais Wget crée encore my.html
Je fais un script bash et que vous souhaitez vous assurer qu'il arrête si wget ne peut pas obtenir un fichier valide.
La solution
wget renvoie une réponse non nulle pour les non-réponses de 200 (il semble).
Ce code exemple a fonctionné pour moi avec GNU wget:
#!/bin/sh
wget -O my.html http://sdfsdfdsf.sdfds
if [ "$?" -ne "0" ]; then
echo "ERROR"
fi
Voici plus d'informations sur $?
de .
$? l'état de sortie de la dernière commande exécutée est donnée comme une chaîne décimale. Lorsqu'une commande termine avec succès, il retourne l'état de sortie de 0 (zéro), sinon elle retourne une sortie non nulle état.
Autres conseils
Vous pourriez peut-être utiliser boucle (1) à la place:
curl -s -f -o my.html http://sdfsdfdsf.sdfds