diff --git a/README.md b/README.md new file mode 100644 index 0000000..340208e --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +![eng](img/eng.png) [![ru](img/ru.png)](README.ru.md) +# `pipex` + +The purpose of this project is the discovery in detail UNIX mechanism - `pipe`. +You can read task: [`pipex.subject.pdf`](subject/pipex.subject.pdf) + + +### Discription of mandatory part +The program `pipex` should repeat the behaviour of the next shell command +```bash +$> < file1 cmd1 | cmd2 > file2 +``` +and looks like this: +```bash +$> ./pipex file1 cmd1 cmd2 file2 +``` +All errors like: wrong commands, permission to files and etc, need be handle. +### Discription of bonus part +Program need handle multiple pipes +```bash +$> < file1 cmd1 | cmd2 | cmd3 | ... | cmdn > file2 + +$> ./pipex file1 cmd1 cmd2 cmd3 ... cmdn file2 +``` +Support `<<` and `>>`, when instead of `file1` is`here_doc`. +```bash +$> cmd1 << LIMITER | cmd2 >> file2 + +$> ./pipex here_doc LIMITER cmd1 cmd2 file2 +``` + +### Evaluated by moulinette + +![125/100](img/125.png) diff --git a/README.ru.md b/README.ru.md new file mode 100644 index 0000000..1469861 --- /dev/null +++ b/README.ru.md @@ -0,0 +1,33 @@ +[![eng](img/eng.png)](README.md) ![ru](img/ru.png) +# `pipex` + +Цель данного проекта детальное рассмотрение UNIX механизма `pipe`. +Задание можно прочитать здесь: [`pipex.subject.pdf`](subject/pipex.subject.pdf) + +### Описание основной части +Программа `pipex` должна повторять поведение следующей команды оболочки +```bash +$> < file1 cmd1 | cmd2 > file2 +``` +и выглядеть следующим образом: +```bash +$> ./pipex file1 cmd1 cmd2 file2 +``` +Необходимо обрабатывать все ошибки, такие как: неправильные команды, отсутствие необходимых прав у файлов и т.д. +### Описание бонусной части +Программа должна обрабатывать несколько пайпов. +```bash +$> < file1 cmd1 | cmd2 | cmd3 | ... | cmdn > file2 + +$> ./pipex file1 cmd1 cmd2 cmd3 ... cmdn file2 +``` +Поддерживать `<<` и `>>`, когда вместо `file1` передается`here_doc`. +```bash +$> cmd1 << LIMITER | cmd2 >> file2 + +$> ./pipex here_doc LIMITER cmd1 cmd2 file2 +``` + +### Оценка от moulinette + +![125/100](img/125.png) diff --git a/img/125.png b/img/125.png new file mode 100644 index 0000000..c61b273 Binary files /dev/null and b/img/125.png differ diff --git a/img/eng.png b/img/eng.png new file mode 100644 index 0000000..272609a Binary files /dev/null and b/img/eng.png differ diff --git a/img/ru.png b/img/ru.png new file mode 100644 index 0000000..b401b40 Binary files /dev/null and b/img/ru.png differ