Wget не ожидает код выхода - PullRequest
1 голос
/ 23 января 2020

Я использую wget в скрипте bash и проверяю код выхода, чтобы напечатать какое-нибудь сообщение. Вот что я делаю:

wget -U mozilla -O my_page.html https://example.com/page
echo $?

Иногда я получаю страницу успешно, потому что она существует, и иногда я получаю файл void, потому что ошибка 404 (страница не существует).

Ну, я всегда получаю код выхода 4, в каждом случае.

Страница man для wget говорит это для кодов выхода wget:

0   No problems occurred.
1   Generic error code.
2   Parse error---for instance, when parsing command-line options, the .wgetrc or .netrc...
3   File I/O error.
4   Network failure.
5   SSL verification failure.
6   Username/password authentication failure.
7   Protocol errors.
8   Server issued an error response.

Я ожидаю получить код 0 при успешной загрузке и код 8 при получении ошибки 404.

Что происходит?

1 Ответ

2 голосов
/ 23 января 2020

Я проверил вашу команду (с небольшой модификацией), и у меня она работает нормально.

wget -U mozilla -O test.html https://google.com/ >>/dev/null 2>&1; echo $?
0  

При попытке с несуществующей страницей

wget -U mozilla -O test.html https://google.com/test >>/dev/null 2>&1; echo $?
8

Возможно, что-то действительно не так с сайт, который вы пытаетесь протестировать?

...