728x90
이번 과제는 UNIX 매커니즘을 더 자세히 알아가는 프로젝트입니다.
허용 함수
◦ open
◦ close
◦ read
◦ write
◦ malloc
◦ free
◦ dup2
◦ execve
◦ fork
◦ perror
◦ strerror
◦ exit
예시
pipex 프로그램은 아래와 같이 동작할 것입니다.
$ ./pipex file1 cmd1 cmd2 file2
- file1, file2 : 파일 이름
- cmd1, cmd2 : 매개변수에 대응하는 shell 명령어
위의 명령어는 아래 shell에서 실행되는 것과 동일하게 처리되어야 합니다.
$ < file1 cmd1 | cmd2 > file2
- pipex
$ ./pipex infile ``ls -l'' ``wc -l'' outfile
$ ./pipex infile ``grep a1'' ``wc -w'' outfile
- shell
$ < infile ls -l | wc -l > outfile
$ < infile grep a1 | wc -w > outfile
보너스
보너스 파일의 경우 \_bonus.{c/h} 로 명시되어야 합니다.
1. 다중 파이프 구현하기
$> ./pipex file1 cmd1 cmd2 cmd3 ... cmdn file2
위의 명령어는 아래와 상응해야 합니다.
$ < file1 cmd1 | cmd2 | cmd3 ... | cmdn > file2
2. here_doc에서 « 와 » 구현하기
$ ./pipex here_doc LIMITER cmd cmd1 file
위의 명령어는 아래와 상응해야 합니다.
$ cmd << LIMITER | cmd1 >> file
728x90
반응형
'42 SEOUL > 2_pipex' 카테고리의 다른 글
[42Seoul/pipex] 허용 함수 정리 (access(), dup2(), execve(), fork(), pipe(), wait(), waitpid()) (0) | 2022.07.13 |
---|
댓글