为什么流重定向运算符 &>> 在 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,您可以使用 &>>
或 >>&
,它们并不相同。
我的 shell-script 在 SUSE Linux 上失败,因为我使用的流重定向运算符 (&>>) 在那里不起作用,(但它在其他发行版中工作正常).我该如何纠正这个问题。我还想知道所有发行版都支持的标准方法吗?
您使用的命令应该意味着您使用的是 bourne shell:
ls &>> file
此命令应在文件末尾同时重定向 stdout 和 stderr。 另一种写法,再次使用 bourne shell 可能是:
ls >> file 2>&1
然而在我看来,这种写命令的方式将被更多 shell 识别,我认为例如 ksh 将识别第二种形式而不是第一种形式。
使用 csh 或类似 csh 的 shell 您将需要使用以下语法:
ls >>& file
编辑:我很困惑,因为根据 shell,您可以使用 &>>
或 >>&
,它们并不相同。