首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向:附加到文件描述符(2>>&1)

重定向:附加到文件描述符(2>>&1)
EN

Unix & Linux用户
提问于 2017-11-02 12:03:09
回答 2查看 17.7K关注 0票数 8

我试图将命令(stdout和stderr)的输出附加到现有文件中。

我想做的是这样的事情:

代码语言:javascript
复制
command >>file 2>>&1

问题是2>>&1抛出了一个错误,但是>>file 2>>file没有。

因此,我想我误解了重定向是如何工作的,或者什么是文件描述符,以及在其中保存了什么信息。

总之,以下两个命令之间有什么区别,为什么第一个命令不能工作,而第二个命令工作呢?

代码语言:javascript
复制
command >>file 2>>&1      #not working
command >>file 2>>file    #working

谢谢

EN

回答 2

Unix & Linux用户

发布于 2017-11-02 12:40:45

您要做的是设置文件描述符1 (stdout)以附加到文件中,然后重定向fd 2 (stderr),只需执行fd 1所做的操作。

代码语言:javascript
复制
command >>file 2>&1

因为2>>&1不是重定向操作符,所以在使用>>&时会出现错误。

阅读bash手册中的重定向,特别是3.6.5和3.6.8节

票数 12
EN

Unix & Linux用户

发布于 2017-11-07 00:25:23

因为这是用bash标记的,所以可以使用&>>重定向(附加) stdout和stderr。

command &>>file

票数 11
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/402029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档