- a.out >output 2>&1 VS a.out 2>&1 >output
- 1、对于a.out >output 2>&1来说,它的意思是首先将标准输出描述符设置到output文件上,即后面的标准输出都后指定到output文件;然后将标准错误描述符指向标准输出(此时的标准输出已经是output文件了)。这条脚本执行后的结果是将标准输出和标准错误都设置为相同的文件即output文件
- 2、对于a.out 2>&1 >output来说,它的意思是先将标准错误设置为标准输出(此时标准输出还是屏幕,没有改变);然后将标准输出重定向为output文件。执行后的结果是标准输出描述符指向了output文件,而标准错误指向终端,即错误输出到屏幕。