我的shell脚本在SUSE Linux上失败,因为我使用的流重定向操作符(&>>)在那里不起作用,(但它在其他发行版中工作正常)。我怎么能纠正这个。另外,我想知道所有发行版支持的标准方法吗?
答案 0 :(得分:0)
您使用的命令应该意味着您正在使用bourne shell:
ls &>> file
此命令应该在文件末尾重定向stdout和stderr。 另一种使用bourne shell编写它的方法可能是:
ls >> file 2>&1
然而,在我看来这种编写命令的方式将被更多的shell识别,我认为例如ksh将识别第二种形式而不是第一种形式。
使用csh或类似csh的shell,您需要使用以下语法:
ls >>& file
编辑:我很困惑,因为根据shell的不同,您可以使用不同的&>>
或>>&
。