Redirection
write함수로 stdout(1)이 아닌 fd 값으로 출력 했을 때의 pipe와 redirection
왜 이러한 글을 작성하게 되었는가? 42seoul 과제를 하던 중 오픈소스인 테스터기를 사용해 결과를 출력해보던 중 어떻게 봐도 맞는 답인데 틀리게 나와서 테스터기 코드를 분석하다가 알게 된 내용인데 더 자세히 남기고 싶어 작성한다. 테스터기에선 내 출력 결과를 파이프를 통해 grep에 넣어 맞는 결과를 선택해 비교하여 결과를 출력해주는 방식이었다. 해당 테스터기 코드도 문제가 없어 뭐가 다를까 생각했는데 내 코드에서 시스템 호출 시의 에러를 출력하는 부분이 일반적인 방법인 write함수에 stdout의 fd 값인 1을 넣어 출력하는 방식이 아니었다. 내 방식은 시스템 호출이 실패함에 따라 자동 설정된 errno에 따라 에러를 출력해주는 perror를 이용해 출력하는 방식이었다. 이 경우 fd가 stde..