Skip to content

The objective of this project is to create a simple shell using c .

Notifications You must be signed in to change notification settings

barimehdi77/minishell-42cursus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minishell

The existence of shells is linked to the very existence of IT. At the time, all coders agreed that communicating with a computer using aligned 1/0 switches was seriously irritating. It was only logical that they came up with the idea to communicate with a computer using interactive lines of commands in a language somewhat close to english.The objective of this project is to create a simple shell using c.

The Project consist of two parts :

Parsing

    1. readline
    2. pipes
    3. Command and arguments
    4. Protections
    5. The <,>, >> redirects
    6. Environment variables
    7. The separations
    8. history

The execution

    1. Redirects
    2. Env, export, unset
    3. Exit and $?
    4. Pipes / signals / process links 

Installation

Use the Makrfile

Make

Usage

./minishell

Contributing

Zouhair Jamali
 42intra profile : zjamali
Mehdi Bari
 42intra profile : mbari

Resources

https://cs61.seas.harvard.edu/site/2019/Section7/
https://qastack.fr/unix/159513/what-are-the-shells-control-and-redirection-operators
https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Bash/O%27Reilly%20bash%20CookBook.pdf
https://ast-viewer.datacamp.com/editor?code=echo%20%22hello%22%20%20%22cjnjnc%22%20%3E%20file1%20%3E%20fileb&start=NA&grammar=shell
https://bottlecaps.de/rr/ui
https://codes-sources.commentcamarche.net/forum/affich-10047436-developper-un-shell-de-base
https://www.gnu.org/software/bash/manual/html_node/index.html#SEC_Contents
https://dev.to/tanishqsingla/termios-564j
https://zestedesavoir.com/tutoriels/1733/termcap-et-terminfo/#1-le-terminal-1 https://viewsourcecode.org/snaptoken/kilo/03.rawInp


"Buy Me A Coffee" ko-fi paypal