曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4025|回复: 0
打印 上一主题 下一主题

2>&1 与 &> 的含义

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2012-3-20 10:13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
&> 表示将所有的输出( 标准输出,标准错误 )重定向。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-4-29 12:21 , Processed in 0.060985 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表