今天在移植QTE4.7.2的时候,发现教程中最后安装的命令是make && make install 2>&1 | tee ./qtemake.log 。不懂其中的“2>&1”含义,于是搜之。
2>&1 是将标准出错重定向到标准输出
> 是输出重定向的意思。
> 是以覆盖的方式重定向
>> 是追加的方式重定向。
1代表标准输出,2代表错误信息输出.
&1 就代表的是标准输出。
最后一个& 符号,是后端执行的意思。
我找个例子,你耐心研究一下:
ls han
ls: 无法访问han: 没有那个文件或目录
执行
~$ ls han >1.txt 2>&1
在shell中没有任何显示
此时再执行~$ cat 1.txt
ls: 无法访问han: 没有那个文件或目录
说明错误信息被重定向到1.txt 这个文件中了。
如果不加这个&
ls han >1.txt 2>1
又会多出来一个 1 文件。
cat 1
ls: 无法访问han: 没有那个文件或目录
看到了把。&1 代表逻辑上的标准输出。 不加& ,那就会产生名为的1的文件