소스 코드를 분석하기 위해 cppcheck 도구를 사용하고 있습니다.
gcc 컴파일러의 쉘 프롬프트에서 다음 명령을 내렸습니다.
$ cppcheck abc.cpp
출력은 다음과 같습니다
checking abc.cpp...
(error) Possible null pointer dereference: <var> - otherwise it is redundant to check if <var> is null at line 100
segmentation fault
이 출력을 파일로 저장하고 싶어서 아래와 같이 명령을 내렸습니다.
$ cppcheck abc.cpp 2> abc.txt
하지만 abc.txt 파일의 내용은 다음과 같습니다.
checking abc.cpp...
첫 번째 줄만 저장하고 abc.txt 파일에서 주요 오류 부분이 누락되었습니다.
파일의 모든 출력 행을 얻으려면 어떤 명령을 사용해야 합니까? cppcheck 도구 매뉴얼은 다음과 같습니다.여기.
답변1
2
명령에서 제거되었으며 >
리디렉션 연산자로만 사용됩니다.
를 사용하면 2>
오류 스트림(STDERR)을 파일로 리디렉션할 수 있습니다. 원하는 것은 일반 출력 스트림(STDOUT)인 것 같습니다.
cppcheck abc.cpp > abc.txt
네가 원한다면둘 다파일에 액세스하려면 다음과 같이 2(오류 스트림)를 1(표준 출력 스트림)에 연결하면 됩니다.
cppcheck abc.cpp > abc.txt 2>&1
또는 사용제안된 단축키 구문모든 것을 잡아라.
답변2
stdout 및 stderr을 파일로 리디렉션해야 할 수도 있습니다.
cppcheck abc.cpp &>abc.txt
답변3
케일럽이 옳았어> 사용에 관해서는, tee
파일에 저장하면서 로그를 보려면 이 명령을 사용할 수도 있습니다.
cppcheck abc.cpp | tee my.file.txt
또한 2>&1과 함께 사용해야 합니다.
cppcheck abc.cpp 2>&1 | tee my.file.txt