曲径通幽论坛

标题: 2>&1 与 &> 的含义 [打印本页]

作者: beyes    时间: 2012-3-20 10:13
标题: 2>&1 与 &> 的含义
2>&1 的含义是,将标准错误作为标准输出的一个拷贝 ,相当于调用了 dup2 (1,2) 这个函数,也就是说原本写到标准错误里的内容会被定向到标准输出中去。

比如:
$ cat tmp.txt temp.txt > output.txt 2>&1
上面,tmp.txt 的内容为 "hello shell",而 temp.txt 文件并不存在于当前目录下,因此:
$ cat output.txt
hello shell
cat: temp.txt: No such file or directory
注意 2>&1 书写的位置,即要放在命令的最后。

实际上,还可以用 &> 对 2>&1 进行替换,这样更加简洁:
$ cat tmp.txt temp.txt &> output.txt
&> 表示将所有的输出( 标准输出,标准错误 )重定向。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2