Isso depende de você decidir.
O bash shell entende &>file e >file 2>&1 como idênticos e você pode usar a antiga sintaxe como um atalho para escrever o último. Outras shells podem lançar um erro de sintaxe ou fazer algo inesperado com &> .
Se você somente escreve bash scripts (e não scripts para, por exemplo, /bin/sh ), então use all &> , mas se você estiver precisando ou precisando escrever Scripts> portáteis (scripts que precisam ser executados em /bin/sh ou que devem ser executáveis por qualquer shell sh , dos quais bash é um e ksh , zsh e dash são outros), então &> é uma das coisas que você deve evitar.
Todos os shells de sh -like implementam o padrão POSIX em termos de sintaxe e gramática , mas bash e outras shells também fornecem conveniências sintáticas como &> e extensões como matrizes e correspondência de expressão regular, etc., e alguns shells podem expandir o padrão POSIX de forma bastante diferente da maneira como o bash está fazendo.
Relacionados:
-
Outras perguntas neste site sobre
bashe portabilidade (link de pesquisa do DuckDuckGo).