Skip to content

rimarque/pipex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pipex

💬 About

Pipex is all about implementing pipes!

The mandatory part of this project involves using processes to implement a single pipe for chaining the commands provided as arguments, while also supporting overwrite redirections. The bonus part includes the execution of multiple pipes and implementation of append redirections.

🙋‍♀️ Authorship

📥 Cloning the repository

git clone git@github.com:rimarque/pipex.git 

Mandatory Part

💎 Features

- Executes the commands provided as arguments usinge the execve() and fork() functions
- Establishes a pipe between the commands using the pipe() function
- Supports overwrite redirections:
	- redirects input from the file specified as first argument
	- redirects output to the file specified as last argument
- Supports accurate exit codes and error messages
- Supports the use of one pair of single quotes per command

🔗 Compilation

To compile the program you should run make. This rule will generate an executable file named pipex.

To launch the executable you should follow this syntax:

$ ./pipex infile cmd1 cmd2 outfile

Bonus Part

💎 Features

- Supports multiple pipes, enabling users to chain multiple commands together
- Supports append redirections (including here document)

🔗 Compilation

To compile the program you should run make bonus. This rule will generate an executable file named bonus.

To launch the executable you should follow this syntax:

Executes overwrite redirections:

$ ./bonus infile cmd1 cmd2 cmd3 ... cmdn outfile

Executes append redirections:

$ ./bonus here_doc LIMITER cmd1 cmd2 cmd3 ... cmdn outfile

About

Implementing pipes. Coded in C.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published