2> 1>/dev/null和2>&1>/dev/null之间的差异是什么

kai*_*h19 9 shell

我想知道声明中的含义是什么:

2>&1 > /dev/null
Run Code Online (Sandbox Code Playgroud)

它将stderr重定向到stdout,然后转向bit bucket但是什么呢?

我可以像以下一样使用它:

2>1 >/dev/null
Run Code Online (Sandbox Code Playgroud)

Chr*_*odd 9

&方法的文件描述符.因此,2>&1将stderr重定向到当前指向的stdout,同时2>1将stderr重定向到名为的文件中1

此外,重定向按顺序发生.所以,如果你说2>&1 >/dev/null,它重定向标准错误在什么标准输出指向当前指向的(这可能是一个空操作),然后重定向标准输出到/ dev/null的.你可能想要>/dev/null 2>&1