Wget создает выходной файл, даже если страница не существует - PullRequest
2 голосов
/ 15 июля 2009

Возможно запретить Wget создавать выходной файл при возникновении ошибки, такой как 404.

Когда я бегу

wget -O my.html <a href="http://sdfsdfdsf.sdfds" rel="nofollow noreferrer">http://sdfsdfdsf.sdfds</a>

http://sdfsdfdsf.sdfds не существует, но Wget все еще создает my.html

<Ч />

Я делаю скрипт bash и хочу убедиться, что он останавливается, если wget не может получить правильный файл.

Ответы [ 2 ]

5 голосов
/ 15 июля 2009

wget возвращает ненулевой ответ для не 200 ответов (кажется).

Этот пример кода работал для меня с GNU wget:

#!/bin/sh

wget -O my.html http://sdfsdfdsf.sdfds

if [ "$?" -ne "0" ]; then
    echo "ERROR"
fi

Здесь больше информации о $? из здесь .

$? статус выхода последней выполненной команды дано в виде десятичной строки. Когда команда завершается успешно, возвращает статус выхода 0 (ноль), иначе он возвращает ненулевой выход состояние.

1 голос
/ 15 июля 2009

Вы могли бы вместо этого использовать curl (1):

curl -s -f -o my.html http://sdfsdfdsf.sdfds
...