>
将标准输出重定向到文件,并覆盖该文件。
&>
重定向 stdout 和 stderr,并覆盖(?)文件。
我想附加将 stdout 和 stderr 都写入文件,而不是覆盖。我试过了,&>>
但不起作用。这&>
已经满足我的要求了吗?如果没有,还有其他技巧吗?
答案1
至少有两种方法可以实现这一点:
- 可以使用这种构造:
cmd >>file.txt 2>&1
将>> file
输出附加到文件并将2>&1
重定向stderr
到stdout
。 - 或者
cmd &>>file
确保你的 bash 版本 >4 (使用bash --version
)和#!/bin/bash
在文件的开头(#!/bin/sh
不起作用)。