UNIX shell의 pipe, redirection, heredoc의 동작을 구현한 프로그램입니다. 시스템 함수를 사용하여 UNIX shell의 내부 동작 원리와 동일한 방식으로 동작합니다.
- heredoc에서 EOF처리 못하는 오류 수정
- 2개 이상의 파이프를 실행했을 때 제대로 처리되지 않는 오류 수정
make && ./pipex file1 cmd1 cmd2 file2
- file1과 file2는 파일의 이름입니다.
- cmd1과 cmd2는 "셸 명령어 + 명령어 인자(들)'입니다.
- 기본적인 파이프, 리다이렉션 기능 구현
$> ./pipex infile "ls -l" "wc -l" outfile
는 다음과 동일하게 동작합니다:< infile ls -l | wc -l > outfile
- 2개 이상의 연속된 파이프 기능 구현
- heredoc 기능 구현
-
$> ./pipex here_doc LIMITER cmd cmd1 file
는 다음과 동일하게 동작합니다:cmd << LIMITER | cmd1 >> file
-
코드에 대한 자세한 설명은 pipex 코드리뷰를 위한 정리: UNIX Shell의 원리와 구현에 있습니다.