一尘不染

如何使用 Bash 将标准输出和标准错误重定向并附加到文件中

Bash

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

cmd > file.txt

要在 Bash 中重定向标准输出,附加到文件,我知道使用:

cmd >> file.txt

要将标准输出和标准错误都重定向到截断的文件,我知道要使用:

cmd &> file.txt

如何重定向附加到文件的标准输出和标准错误?cmd &>> file.txt对我不起作用。


阅读 205

收藏
2022-02-16

共1个答案

一尘不染

cmd >>file.txt 2>&1

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

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