Como eu redireciono somente o stderr?

9

Estou tendo um pouco de dificuldade para fazer isso. Eu tenho que executar um arquivo .java compilado e redirecionar apenas o stderr para um arquivo chamado error. Então o arquivo .java é chamado javaProgram.java.

Isso é o que eu tentei:

java javaProgram 2> error

No entanto, quando eu

cat error

parece que há coisas lá, mesmo quando eu sei que o arquivo .java específico não tem erros. Estou fazendo algo errado? Tudo que eu quero que este arquivo de erro exiba é erros, e não qualquer outra coisa.

    
por John 04.11.2013 / 04:36

2 respostas

11

Sua primeira tentativa foi correta; 2>filename é como você redireciona o stderr. Pode ser que o seu programa esteja escrevendo alguns não-erros para o stderr, ou o programa java está executando outros programas que geram o stderr.

    
por 04.11.2013 / 05:22
1

A resposta simples é que não é possível. O erro padrão é usado para gravar a saída de diagnóstico e cabe aos aplicativos definir o que é saída de diagnóstico / erro. Isso é de acordo com o padrão POSIX .

    
por 04.11.2013 / 05:23