Wget создает выходной файл, даже если страница не существует

StackOverflow https://stackoverflow.com/questions/1127911

  •  13-09-2019
  •  | 
  •  

Вопрос

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

Когда я бегу

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

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


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

Это было полезно?

Решение

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

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

#!/bin/sh

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

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

Вот дополнительная информация о $? от здесь.

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

Другие советы

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

curl -s -f -o my.html http://sdfsdfdsf.sdfds
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top