Skip to content

Latest commit

 

History

History
61 lines (52 loc) · 2.05 KB

README.md

File metadata and controls

61 lines (52 loc) · 2.05 KB

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