我试图将命令(stdout和stderr)的输出附加到现有文件中。
我想做的是这样的事情:
command >>file 2>>&1问题是2>>&1抛出了一个错误,但是>>file 2>>file没有。
因此,我想我误解了重定向是如何工作的,或者什么是文件描述符,以及在其中保存了什么信息。
总之,以下两个命令之间有什么区别,为什么第一个命令不能工作,而第二个命令工作呢?
command >>file 2>>&1 #not working
command >>file 2>>file #working谢谢
发布于 2017-11-02 12:40:45
您要做的是设置文件描述符1 (stdout)以附加到文件中,然后重定向fd 2 (stderr),只需执行fd 1所做的操作。
command >>file 2>&1因为2>>&1不是重定向操作符,所以在使用>>&时会出现错误。
阅读bash手册中的重定向,特别是3.6.5和3.6.8节
发布于 2017-11-07 00:25:23
因为这是用bash标记的,所以可以使用&>>重定向(附加) stdout和stderr。
command &>>file
https://unix.stackexchange.com/questions/402029
复制相似问题