将 stdout 和 stderr 附加到文件

use*_*785 8 bash

>将 stdout 重定向到文件,并覆盖该文件。

&>重定向 stdout 和 stderr,并覆盖(?)文件。

我想将 stdout 和 stderr附加到文件中,而不是覆盖。我尝试过&>>,但没有成功。&>已经做我想做的事了吗?如果没有的话,还有什么技巧吗?

use*_*785 6

有(至少)两种方法可以实现这一目标:

  1. 使用此构造:cmd >>file.txt 2>&1where>> file将输出附加到文件并将2>&1其重定向stderrstdout.
  2. 或者使用cmd &>>file确保 bash 版本 >4(使用bash --version #!/bin/bash位于文件开头(#!/bin/sh不起作用)。