前言
在shell编程中,我们可以看到许多这样的脚本:
1
command.sh > /dev/null 2>&1 &
对于其中的命令我们应该如何理解,并且如何使用呢?
是什么
2>&1
是将标准错误输出重定向到标准输出。每个程序运行后,至少都会打开三个文件描述符,分别是以下三种:
- 0: 标准输入
- 1: 标准输出
- 2: 标准错误输出
那么以上的命令含义就很明确了,将标准错误输出重定向到标准输出中。还有一个问题是为什么在1
前面有一个&
符号呢?当只有1
的时候代表一个文件,使用&
表明其是一个文件描述符。
如何使用
将标准错误输出重定向到标准输出有以下三种写法:
2>&1
>&
&>