shell 脚本中的标准输出

sh /tmp/aa.sh >/dev/null 2>&1

解释:

>和>>都是重定向输出

<0
1> 指标准信息输出路径(也就是默认的输出方式)
2> 指错误信息输出路径
2>&1 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)

习惯上
标准输入(standard input)的文件描述符是 0
标准输出(standard output)是 1
标准错误(standard error)是 2

>   /dev/null   将输出重定向到/dev/null,这是个空设备,也就是忽略其输出。   
2> &1     是将错误输出到标准输出,如果在控制台调试,也就是屏幕上,方便调试。 
有3个默认的i/o,0是标准输入,一般是键盘;1是标准输出,一般是屏幕了;2是标准错误。

2>&1可以这么理解:把标准错误输出重定向>,通过后台&,放到标准输出所在的地方.因为是在后台运行,所以是看不见出错信息的.因此,&,可以理解成是后台行为.

i<&j将j与i关联例如4<&1;

撤消关联1<&4;

exec 4>&-

原文地址:https://www.cnblogs.com/chonghui1001/p/2234890.html