要将标准输出重定向到 Bash 中的截断文件,我知道要使用:
cmd > file.txt
要在 Bash 中重定向标准输出,附加到文件,我知道使用:
cmd >> file.txt
要将标准输出和标准错误都重定向到截断的文件,我知道要使用:
cmd &> file.txt
如何重定向附加到文件的标准输出和标准错误?cmd &>> file.txt
对我不起作用。
cmd >>file.txt 2>&1
Bash 从左到右执行重定向,如下所示:
>>file.txt
:以附加模式打开file.txt
并重定向stdout
到那里。2>&1
:重定向stderr
到“stdout
当前要去的地方”。在这种情况下,这是一个以附加模式打开的文件。换句话说,&1
重用当前使用的文件描述符stdout
。