/pipex

Unix shell의 pipe, redirection, heredoc을 구현한 프로그램

Primary LanguageC

pipex

UNIX shell의 pipe, redirection, heredoc의 동작을 구현한 프로그램입니다. 시스템 함수를 사용하여 UNIX shell의 내부 동작 원리와 동일한 방식으로 동작합니다.

Update

  • heredoc에서 EOF처리 못하는 오류 수정
  • 2개 이상의 파이프를 실행했을 때 제대로 처리되지 않는 오류 수정

Usage

make && ./pipex file1 cmd1 cmd2 file2

  • file1과 file2는 파일의 이름입니다.
  • cmd1과 cmd2는 "셸 명령어 + 명령어 인자(들)'입니다.

Features

  • 기본적인 파이프, 리다이렉션 기능 구현
    • $> ./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

Peer Reviews

image image image

Notion Post

코드에 대한 자세한 설명은 pipex 코드리뷰를 위한 정리: UNIX Shell의 원리와 구현에 있습니다.