Existem duas maneiras de fazer isso, dependendo da sua versão do Bash.
A maneira clássica e portátil ( Bash pré-4 ) é:
cmd >> outfile 2>&1
Uma maneira não portável, começando com o Bash 4, é
cmd &>> outfile
(analógico para &> outfile
)
Para um bom estilo de codificação, você deve
- decida se a portabilidade é uma preocupação (use o modo clássico)
- decida se a portabilidade mesmo para o Bash pré-4 é uma preocupação (use o modo clássico)
- independentemente da sintaxe usada, não a altere no mesmo script (confusão!)
Se o seu script já começar #!/bin/sh
(não importa se isso é pretendido ou não), a solução Bash 4 e, em geral, qualquer código específico do Bash, não é o caminho a seguir.
Lembre-se também de que o Bash 4 &>>
é apenas uma sintaxe mais curta - ele não apresenta nenhuma nova funcionalidade ou algo parecido.
A sintaxe é (ao lado de outra sintaxe de redirecionamento) descrita aqui: http://bash-hackers.org/wiki/doku.php/syntax/redirection#appending_redirected_output_and_error_output