>/dev/null 2>&1 与 2>&1 >/dev/null

一直对这个概念比较模糊,今天大概捋清楚了。

大意就是命令行从左往右解释执行

第一个 >/dev/null 2>&1,>/dev/null 将标准输出(1)重定向到/dev/null ,2>&1将标准错误输出(2)重定向到标准输出(&1),因为标准输出已经重定向到了/dev/null,所以标准错误输出也就输出到了/dev/null。

第二个 2>&1 >/dev/null,2>&1将标准错误输出(2)重定向到标准输出(&1),也就是输出到屏幕, >/dev/null将标准输出输出到/dev/null

所以第一个将标准输出和标准错误输出都输出到了/dev/null,第二个将标准输出输出到/dev/null,将标准错误输出输出到屏幕

原文地址:https://www.cnblogs.com/wendelhuang/p/7464210.html