Answers:
这无关紧要grep-因为管道|重定向标准输出流,stdout而Permission denied消息在标准错误流中stderr。你可以达到你想要使用结合流的结果2>&1(重定向其文件描述符是流2给其文件描述符是流1),以便stderr以及stdout被输送到grep命令的输入
find / -name libGL.so.1 2>&1 | grep -v 'denied'
但通常stderr将其重定向到/dev/null
find / -name libGL.so.1 2>/dev/null
如果查看Bash手册页,您可能会注意到以下内容:
如果
|&使用,则命令的标准错误通过管道连接到command2的标准输入。它是的简写2>&1 |。
因此,如果要加入STDERR和STDOUT,也可以使用此构造:
find / -name libGL.so.1 |& grep -v 'denied'
/foo/bar/denied/libGL.so.1,结合stdout和stderr再过滤会隐藏结果