wget 不期望退出代码

wget gets not expecting exit code

我在 bash 脚本中使用 wget 并检查退出代码以打印一些消息。我就是这样做的:

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

有时我成功获取页面,因为它存在,有时我得到一个空文件,因为 404 错误(页面不存在)。

嗯,在任何情况下,我总是得到退出代码 4

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,在收到 404 错误时收到代码 8

发生了什么事?

我检查了你的命令(稍作修改),对我来说它工作正常。

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

也许您尝试测试的网站确实有问题?