Wget crea file di output, anche quando la pagina non esiste
Domanda
è possibile per evitare che Wget di fare un file di output quando si verifica un errore come 404.
Quando eseguo
wget -O my.html http://sdfsdfdsf.sdfds
http: //sdfsdfdsf.sdfds non esiste, ma Wget ancora crea my.html
Sto facendo uno script bash e voglio assicurarmi che non si arresta se wget non riesce a ottenere un file valido.
Soluzione
wget restituisce una risposta non-zero per i non-200 risposte (a quanto pare).
Questo codice di esempio ha funzionato per me con GNU wget:
#!/bin/sh
wget -O my.html http://sdfsdfdsf.sdfds
if [ "$?" -ne "0" ]; then
echo "ERROR"
fi
Ecco maggiori informazioni su $?
da qui .
$? lo stato di uscita dell'ultimo comando eseguito è dato come una stringa decimale. Quando un comando completa con successo, restituisce lo stato di uscita 0 (zero), altrimenti restituisce un non-zero uscita di stato.
Altri suggerimenti
Si potrebbe forse usare curl (1) invece:
curl -s -f -o my.html http://sdfsdfdsf.sdfds