Bash重定向:因为`&> foo`表示`> foo 2>& 1`,是否有`&>>`?

时间:2011-07-12 10:42:38

标签: bash

以下会将Stdout和Stderr重定向到logfile

$ command &> logfile

如何在logfile的下次运行期间执行此重定向而不覆盖command。像>>这样的东西,如果它是一个简单的重定向。

4 个答案:

答案 0 :(得分:4)

从BASH手册

The format for appending standard output and standard error is:
       &>>word
This is semantically equivalent to
       >>word 2>&1

所以,$ command &>> logfile

编辑:速记版本似乎是bash版本4中的一项功能,因此出于兼容性原因,您应该使用command >> logfile 2>&1

答案 1 :(得分:4)

您可以将stderr(2)附加到stdout(1),然后在append-mode中重定向stdout:

command >> logfile 2>&1

2>&1位将stderr附加到stdout,然后重定向stdout以常规方式附加到logfile

答案 2 :(得分:0)

根据documentation,你所追求的是你可能已经猜到的:

$ command &>> logfile

注意要追加的>>加倍。

答案 3 :(得分:0)

你在问题​​中回答了你的问题....

$ command &>> logfile