一尘不染

如何使用Bash将stdout和stderr重定向并附加到文件?

linux

要将 stdout 重定向到Bash中的截断文件,我知道使用:

cmd > file.txt

为了重定向Bash中的 stdout ,将其附加到文件中,我知道要使用:

cmd >> file.txt

要将 stdoutstderr 都重定向到截断的文件,我知道使用:

cmd &> file.txt

如何将 stdoutstderr 都重定向到文件?cmd &>> file.txt没有为我工作。


阅读 288

收藏
2020-06-02

共1个答案

一尘不染

cmd >>file.txt 2>&1

Bash执行从左到右的重定向,如下所示:

  1. >>file.txtfile.txt以追加模式打开并在stdout那里重定向。
  2. 2>&1:重定向stderrstdout当前要去哪里”。在这种情况下,这是在附加模式下打开的文件。换句话说,&1重用stdout当前使用的文件描述符。
2020-06-02