Giter Club home page Giter Club logo

minishell_42's Introduction

Minishell_42

What is a shell? ๐Ÿค”

Basically in an operating system there are these two elements:
* The kernel (= kernel): which performs the fundamental functions of the operating system such as memory management, processes, files ...
* The shell: At its base, a shell is simply a macro processor that executes commands. -The term macro processor means functionality where text and symbols are expanded to create larger expressions. -A Unix shell is both a command interpreter and a programming language.

This Project Majerly Include ๐Ÿ“‚

Parsing

    2. The separations
    1. Pipes
    3. Command and arguments
    4. Protections
    5. The <,>, >> redirects
    6. Environment variables

The execution

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

Best Ressources

-https://medium.com/@nickolasteixeira/want-to-build-a-simple-shell-heres-how-you-do-it-75890647bae8
-https://medium.com/dev-genius/lets-build-a-linux-shell-part-i-954c95911501
-https://medium.com/better-programming/how-bash-works-8424becc12f3
-https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
-https://man7.org/linux/man-pages/dir_all_by_section.html
-https://unix.stackexchange.com/questions/159513/what-are-the-shells-control-and-redirection-operators
-https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html
-https://www.geeksforgeeks.org/pipe-system-call/?ref=rp
-https://www.geeksforgeeks.org/wait-system-call-c/?ref=rp
-https://www.geeksforgeeks.org/fork-system-call/?ref=rp
-http://www-igm.univ-mlv.fr/~dr/NCSPDF/chapitre11.pdf
-https://www.geeksforgeeks.org/making-linux-shell-c/
-https://www.quora.com/What-is-the-3rd-parameter-in-the-main-function-char-envp#:~:text=The%20non%2Dportable%2Dbut%2D,As%20always%2C%20I%20recommend%20experimenting
-https://chrtophe.developpez.com/tutoriels/minisysteme/#L11
-https://stackoverflow.com/questions/6697753/difference-between-single-and-double-quotes-in-bash
-https://brennan.io/2015/01/16/write-a-shell-in-c/
-https://www.youtube.com/watch?v=5BE9qM79fgM
-https://sites.cs.ucsb.edu/~manish/discussion/week2.pdf
-https://www.geeksforgeeks.org/chdir-in-c-language-with-examples/ Important
-https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Bash/O%27Reilly%20bash%20CookBook.pdf

To Test

 Run : make && ./minshell

minishell_42's People

Contributors

zainabdnaya avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.