stderr만 리디렉션하는 방법은 무엇입니까?

stderr만 리디렉션하는 방법은 무엇입니까?

이 작업을 수행하는 데 문제가 있습니다. 컴파일된 .java 파일을 실행하고 stderr만 error라는 파일로 리디렉션해야 합니다. 따라서 .java 파일의 이름은 javaProgram.java입니다.

내가 시도한 것은 다음과 같습니다.

java javaProgram 2> error

그러나 내가

cat error

특정 .java 파일에 오류가 없다는 것을 알고 있음에도 뭔가 있는 것 같습니다. 내가 뭐 잘못 했어요? 이 오류 파일에는 오류만 표시되고 다른 내용은 표시되지 않기를 원합니다.

답변1

첫 번째 시도는 정확했습니다. 2>filename이것이 stderr를 리디렉션하는 방법입니다. 가능한 시나리오는 귀하의 프로그램이 오류가 아닌 일부를 stderr에 기록하고 있거나 Java 프로그램이 stderr로 출력하는 다른 프로그램을 실행하고 있다는 것입니다.

답변2

간단한 대답은 불가능하다는 것입니다. 표준 오류는 진단 출력을 작성하는 데 사용되며 진단/오류 출력이 무엇인지 정의하는 것은 애플리케이션에 달려 있습니다. 이는 다음을 기반으로 합니다.POSIX 표준.

관련 정보