mib*_*zer 8 shell io-redirection
我不明白下面的if
条件。我知道这/dev/null 2 > &1
是将输出发送到错误流(如果我错了,请纠正我)。但是当它处于某种if
状态时我不明白
if /usr/bin/egrep -e "$param1" -e "$param2" -e "param3" ${file} > /dev/null 2>&1
then
bla bla
Run Code Online (Sandbox Code Playgroud)
dan*_*ann 17
的if
只是感兴趣上的grep的退出代码(无论它发现了一些线相匹配的条件下),但不grep命令的输出,因此它重定向所有输出到/ dev / null,这意味着不通。
此重定向发生在两个部分:
> /dev/null
将标准输出重定向到任何地方,即 egrep 通常输出的行 2>&1
将错误输出也重定向到与标准输出相同的位置,即 /dev/null;这是为了抑制来自 egrep 的错误消息。