Linux shell 关于 2>&1 的含义

0:表示标准输入
1:表示标准输出,即stdout
2:表示标准错误输出,即stderr
> :默认为标准输出重定向,与 1> 相同
2>&1:意思是把标准错误输出重定向到标准输出.
&>file:意思是把标准输出和标准错误输出 都重定向到文件file中
/dev/null:可以看作黑洞,它等价于一个只写文件,所有写入它的内容都会永远丢失,而尝试从它那儿读取内容则什么也读不到。
>/dev/null 2>&1:左边是标准输出,现在标准输出直接输入到/dev/null中,而2>&1是将标准错误重定向到标准输出,所以当程序产生错误的时候,相当于错误流向左边,而左边依旧是输入到/dev/null中。
>./boot.log 2>&1:左边是标准输出,现在标准输出直接输入到当前路径的boot.log文件中,而2>&1是将标准错误重定向到标准输出,所以当程序产生错误的时候,相当于错误流向左边,而左边依旧是输入到boot.log文件中。

猜你喜欢

转载自blog.csdn.net/chenlixiao007/article/details/105402766