当我运行google-chrome 2>&1 > /dev/null &
然后返回到提示符,然后访问带有无效证书的网站时,我仍然会在控制台屏幕上看到错误输出。例如。
neubert@LAPTOP:~/folder$ [32094:32113:1228/101803.899469:ERROR:ssl_client_socket_impl.cc(975)] handshake failed; returned -1, SSL error code 1, net_error -202
[32094:32113:1228/101804.014732:ERROR:ssl_client_socket_impl.cc(975)] handshake failed; returned -1, SSL error code 1, net_error -202
我不明白。2>&1
应该将 stderr 重定向到 stdout,然后> /dev/null
应该将两者都重定向到 /dev/null。如果这是对该命令正在执行的操作的正确分析,那么为什么我仍然从浏览器收到随机消息?我怎样才能不这样做呢?
STDOUT
要丢弃&的任何输出STDERR
,您需要像这样重定向:您的语法不正确,您只是重定向
STDOUT
它,因此您会在提示中收到消息。重定向的顺序很重要:上面的命令会将标准输出 (
STDOUT
)和标准错误 (STDERR
) 定向到文件dirlist。虽然这个命令:
仅将标准输出 ( )定向
STDOUT
到文件dirlist ,因为在标准输出重定向到 dirlist之前,标准错误是标准输出的副本。在这种情况下,dirlist等于。
/dev/null
参考