wget возвращает ненулевой ответ для не 200 ответов (кажется).
Этот пример кода работал для меня с GNU wget:
#!/bin/sh
wget -O my.html http://sdfsdfdsf.sdfds
if [ "$?" -ne "0" ]; then
echo "ERROR"
fi
Здесь больше информации о $?
из здесь .
$? статус выхода последней выполненной команды
дано в виде десятичной строки. Когда команда
завершается успешно, возвращает статус выхода
0 (ноль), иначе он возвращает ненулевой выход
состояние.