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
bash
e portabilidade (link de pesquisa do DuckDuckGo).