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.
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.
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.
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 .
Tags bash compiling io-redirection