Skip to content

thlibers/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

190 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project has been created as part of the 42 curriculum by nclavel, thlibers

Description:

Minishell is a shell coded in C. To do this project we have reused the project called pipex done earlier on the 42 curriculum.

A shell is a CommandLine user Interface (CLI) that bridges between the user and the system by interpreting the command typed by the user in his terminal. A lot of different shells are available, like sh, bash, zsh, fish and many more.

This project deepened our understanding of how UNIX systems work and how a program can parse and process a command string to execute what the user wants to do.

Instruction:

  1. Build the project using make
make
# OR 
make minishell
  1. Launch the shell
./minishell
  • Remove every compilation object file
make clean
  • Remove every compilation object file and remove the compiled file
make fclean
  • Remove every compilation object file, remove the compiled file and rebuild the project
make re

Available features:

  • Use minishell on a non tty mode (partial support)
  • Fully fonctional piping system
  • Fully functional history
  • Fully fonctional builtin
  • Complete expand token
  • File redirection
  • Heredoc support
  • Condition priority
  • Wildcard expand

Technical choice

A lexer (also called a tokenizer) reads raw text one character at a time and splits it into meaningful pieces called tokens. After the user types a command line, the lexer processes that input and produces tokens labeled with their exact types (see the list of operators in the "Available features" section).


An Abstract Syntax Tree (AST) is a tree-shaped data structure used to represent commands for execution. It has a top node called a root, intermediate nodes called branches (subnodes), and leaf nodes where data are stored.

Examples:



Part of ressources used:


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors