Code Monkey home page Code Monkey logo

pipex's Introduction

Pipex

This project aims to make you understand a bit deeper two concepts that you already know: the redirections and the pipes. It is an introduction project.


#External functs

Description : This project is about handling pipes.

• access
• open
• unlink
• close
• read
• write
• malloc
• waitpid
• wait
• free
• pipe
• dup
• dup2
• execve
• fork
• perror
• strerror
• exit

Mandatory Part:

Your program will be executed as follows:./pipex file1 cmd1 cmd2 file2

Exemple :

./pipex infile "ls -l" "wc -l" outfile

Should behave like : < infile ls -l | wc -l > outfile

Requirements:

Your project must comply with the following rules:

• You have to turn in a Makefile which will compile your source files. It must not relink.
• You have to handle errors thoroughly. In no way your program should quit unexpectedly (segmentation fault, bus error, double free, and so forth).
• Your program mustn’t have memory leaks.
• If you have any doubt, handle the errors like the shell command: < file1 cmd1 | cmd2 > file2

Bonus Part :

You will get extra points if you:

Handle multiple pipes.

This:$> ./pipex file1 cmd1 cmd2 cmd3 ... cmdn file2
Should behave like: < file1 cmd1 | cmd2 | cmd3 ... | cmdn > file2

Support « and » when the first parameter is "here_doc".

This:$> ./pipex here_doc LIMITER cmd cmd1 file
Should behave like: cmd << LIMITER | cmd1 >> file

⚠️ The bonus part will only be assessed if the mandatory part is PERFECT. Perfect means the mandatory part has been integrally done and works without malfunctioning. If you have not passed ALL the mandatory requirements, your bonus part will not be evaluated at all.

pipex's People

Contributors

mmasstou avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.