当我运行此命令时,它按预期工作:
wget -p https://www.google.com/
运行此命令后,我使用以下方法检查错误代码
echo $?
这将返回 0,表明最后一个命令运行时没有遇到任何错误。
现在我运行:
wget -p https://www.google.com/ >/dev/null
最后一个命令应该抑制标准输出 - 但事实并非如此。那么到底发生了什么?这几乎似乎是 wget 特有的,因为我以前使用其他命令时从未遇到过管道标准输出的问题。
还值得注意的是,如果您运行:
wget -p https://www.google.com/ 2>/dev/null
所有输出均被抑制。有人愿意为困惑的人解惑吗?
答案1
嗯,wget -p https://www.google.com/ &> /dev/null
可以正常工作。这是因为wget
输出到 stderr 而不是 stdout。您可以检查 wget手动的。
‘--输出文件=日志文件’
将所有消息记录到日志文件。消息通常会报告给标准错误。