redirecionamento de saída de entrada no bash [duplicado]

2

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.

    
por user917279 25.09.2013 / 16:20

1 resposta

2
>&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.

    
por 25.09.2013 / 16:36