make && make install 2>&1 | tee ./qtemake.log

今天在移植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的文件

你可能感兴趣的:(嵌入式linux)