在我继承的脚本中,我们的一个程序的输出被放入一个文件中:
program &>> result.txt
我周末在家一直在读我的书《学习bash shell》,但找不到这意味着什么(我知道什么>
意思>>
)。
我错过了一些明显的东西吗?
答案1
你的书可能太旧了,这是 Bash 版本 4 中的新内容。
program &>> result.txt
相当于
program >> result.txt 2>&1
将 stdout 和 stderr 重定向并附加到 file result.txt
。有关 I/O 重定向的更多信息这里。
答案2
&
表示标准输出 ( 1>
) 和标准错误 ( 2>
)。
>>
表示追加到文件末尾。
您可以使用1>>a 2>&1
代替&>>
例如。date test >>file 2>&1