나는 최선의 순서가 캡처 모두 무엇인지 불분명 해요 STDERR및 STDOUT사용하여 동일한 파일에 tee. 파일로 파이프하려면 경로 재 지정 후 파일 핸들을 매핑해야한다는 것을 알고 있습니다.
find . >/tmp/output.txt 2>&1
이 보내 쉘 지시 STDOUT에 /tmp/output.txt다음 보낼 STDERR에 STDOUT(지금에 전송된다 /tmp/output.txt).
2>&1파일을 재 지정하기 전에 수행을 시도 하면 원하는 효과가 없습니다.
그러나 파이프를 사용 tee하려면 다음과 같아야합니다.
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
답변
후자의; 원래 명령의 STDOUT과 STDERR이 동일한 fd로 이동 한 다음이를 티에 함께 공급합니다. 전자의 경우, STDOUT에 참여하는 것은 tee 명령의 STDERR입니다.