>&fname
é o mesmo que
>fname 2>&1
i.e. ele redireciona ambos stdout e stderr para o arquivo fname
. Veja a página bash(1)
man, seção REDIRECTION
(especialmente sua parte Redirecting Output
) para explicação detalhada.
No Ksh para redirecionar i / o de um comando para longe da saída padrão / erro que eu faço, [onde comando é qualquer comando que produza saída / erro]
command 2>filename
command 2>/dev/null
ou
command &>filename
command &>/dev/null
No bash, muitas vezes vejo código como
command >&/dev/null
o que significa &
adicional, quando o mesmo pode ser feito usando
command> /dev/null
Eu sei que estou sentindo falta de algo bom, mas feliz em aprender.
EDIT: Eu sabia o que 2 > & 1 é, o que a chamada questão duplicada pergunta, foi-me dito que 1 indica um descritor de arquivo e, portanto, precisamos de um & para se referir a isso. Fiquei intrigado ao ver & antes do nome do arquivo. Daí esta questão.
Tags bash io-redirection