Skip to content

Rexbrainz/Minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple shell, built after bash, a group project by: @Rexbrainz and @Thopterek

Work was divided into two main parts and you can see it also by style in which code was written:

  • Parsing and signals by @Rexbrainz
  • Execution and builtins by @Thopterek
  • Of course in some points its interconnected
Structure

Things we are handling in this project are:

  • $ sign expansions and generally working with things like export expanding to commands
  • executing commands in different ways (relative path etc) asynchronus or not depening on input
  • pipes '|' and logic operators '&&' '||' with their full functionality
  • signals (CONTROL + C, CONTROLD + D)
  • minishell inside the minishell
  • really weird input
mini

As always everything starts in main, but here you should go first over the headers:

  • everywhere in the code you can read through the functions with comments about them to help out
  • if you want to look for explanation of what is exactly happening you have to understand the logic
  • structure helps with just that organising everything, from how the data is saved to how its being passed to execution
main and struct

Project was written in accordance with 42 NORM but handles some of the things outside of minishell project:

  • unclosed single and double quotes, plus delimiters ('|', '&&', '||') at the end
  • input with the '\' sign asking for more input

To run the project:

  • git clone [repo link]
  • cd [into cloned folder]
  • make
  • ./minishell

Disclaimer: it might be problematic to run the code outside of the 42, all depening on which library version for readline you have.

About

This project is a simple shell

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •