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

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

cmd > file.txt

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

cmd >> file.txt

重定向标准输出和standard error到截断的文件,我知道要使用:

cmd &> file.txt

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

最佳答案

cmd >>file.txt 2>&1

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

  1. >>file.txt:以追加模式打开file.txt,并在那里重定向stdout
  2. 2>&1:将stderr 重定向到stdout 当前所在的位置”。在这种情况下,这是一个以 append 模式打开的文件。换句话说,&1 重用了 stdout 当前使用的文件描述符。

https://stackoverflow.com/questions/876239/

相关文章:

python - 子进程中 'shell=True'的实际含义

linux - 使用 `find` 时如何排除目录?

python - 网址在 Python 中解码 UTF-8

linux - 在 Bash 中循环文件的内容

python - 如果键存在,则删除字典项

linux - 如何在 Linux shell 脚本中提示是/否/取消输入?

linux - 如何删除导出的环境变量?

python - 用一个空格替换非 ASCII 字符

linux - 如何将包含文件的文件夹复制到 Unix/Linux 中的另一个文件夹?

python - 如何在 Python 中找到当前的操作系统?