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.

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top