O que faz um & Number?

1

Eu sei que ter um & no final de um comando faz com que seja executado em segundo plano. Eu queria saber o que significa &Number ? Eu estava olhando para um script que tem alguns comandos em execução com &1 e alguns com &2 .

    
por iman453 03.09.2010 / 21:57

4 respostas

5

Isso deve ser migrado para o SuperUser, mas a resposta é que eles se referem a descritores de arquivos. & 1 é a saída padrão e & 2 é o erro padrão, portanto, um programa é executado assim:

./program 2>&1

Redireciona o descritor 2 (erro padrão) para o descritor 1 (saída padrão)

Um uso comum disso é fazer algo assim:

./program >file.txt 2>&1

Que redireciona a saída padrão para um arquivo e, em seguida, o erro padrão para a saída padrão, de modo que você obtém a saída regular e de erro capturada no arquivo.

    
por 03.09.2010 / 22:00
1

Para shells do tipo Bourne (bash etc.)

mycmd > /output/file 2>&1

mescla a saída de erro padrão (descritor de arquivo 2) com a saída padrão (descritor de arquivo 1) e grava os dois em /output/file .

    
por 03.09.2010 / 22:01
1

O '&' indica um descritor de arquivo. & 1 é stdout e & 2 é stderr.

Se você não encontrou um bom site para aprender scripts de shell, recomendo este:

link

    
por 03.09.2010 / 22:01
0

&1 é a saída padrão ( STD_OUT ), &2 é o fluxo de erros padrão ( STD_ERR )

    
por 03.09.2010 / 22:01