>和&>产生不同的结果

时间:2019-01-08 11:49:05

标签: bash macos unix pipe io-redirection

我正在尝试保存命令的标准输出以输出文件output.txt

我不明白为什么当我使用&>时一切正常,而当我使用>时,某些奇怪的符号,例如[0m[0;1;32m会随机出现在整个文件中。

是什么原因造成的?

我的调查表明,这些符号是末端着色。但是为什么当我使用&>时它们消失了?

1 个答案:

答案 0 :(得分:3)

它可能检查stderr是否连接到终端,如果连接了终端,则使用颜色控制代码。当您使用&>重定向时,stdoutstderr都未连接到终端,因此不使用颜色代码。