为什么流重定向运算符 &>> 在 SUSE linux 中不起作用?

Why stream redirection operator &>> not working in SUSE linux?

我的 shell-script 在 SUSE Linux 上失败,因为我使用的流重定向运算符 (&>>) 在那里不起作用,(但它在其他发行版中工作正常).我该如何纠正这个问题。我还想知道所有发行版都支持的标准方法吗?

您使用的命令应该意味着您使用的是 bourne shell:

ls &>> file

此命令应在文件末尾同时重定向 stdout 和 stderr。 另一种写法,再次使用 bourne shell 可能是:

ls >> file 2>&1

然而在我看来,这种写命令的方式将被更多 shell 识别,我认为例如 ksh 将识别第二种形式而不是第一种形式。

使用 csh 或类似 csh 的 shell 您将需要使用以下语法:

ls >>& file

编辑:我很困惑,因为根据 shell,您可以使用 &>>>>&,它们并不相同。