Giter VIP home page Giter VIP logo

holbertonschool-simple_shell's Introduction

๐Ÿš Simple Shell ๐Ÿš

Description ๐Ÿง‘โ€๐Ÿซ

  • Who designed and implemented the original Unix operating system
  • Who wrote the first version of the UNIX shell
  • Who invented the B programming language (the direct predecessor to the C programming language)
  • Who is Ken Thompson
  • How does a shell work
  • What is a pid and a ppid
  • How to manipulate the environment of the current process
  • What is the difference between a function and a system call
  • How to create processes
  • What are the three prototypes of main
  • How does the shell use the PATH to find the programs
  • How to execute another program with the execve system call
  • How to suspend the execution of a process until one of its children terminates
  • What is EOF / โ€œend-of-fileโ€?

Flowchart ๐ŸŒŠ ๐Ÿ“Š

Flowchart of simple shell

๐Ÿ–ฑ๏ธ CLICK ME | (https://miro.com/app/board/uXjVP-i0iRk=/)

Functions and system calls used ๐Ÿ–ฅ๏ธ ๐Ÿ’พ ๐Ÿ“ฒ

  • execve
  • exit
  • fork
  • free
  • getline
  • isatty
  • open
  • perror
  • stat
  • strcat
  • strchr
  • strcmp
  • strdup
  • strtok
  • va_arg
  • va_end
  • va_start
  • wait

Compilation and usage example ๐Ÿ”ง ๐Ÿ—ƒ๏ธ

gcc -Wall -Werror -Wextra -pedantic -std=gnu89 *.c -o hsh

./hsh - example fix

Files ๐Ÿ“ ๐Ÿ“‚

  • AUTHORS : List of contributors
  • man_1_simple_shell : Manual page of the simple shell
  • main.c : Function that contains the main code; coordinates the execution of programs and alternate between interactive and non-interactive shell modes
  • main.h : Header file
  • builtin_checker.c : Builtin checker file
  • commandPATH.c : File that handles the PATH
  • `fordandReplace.c~ : File that forks
  • getend.c : getenv file
  • helperfunc1.c : helper functions file
  • `read.c~ : read file
  • tokenizer.c : Tokenizer file

Resources ๐Ÿง‘โ€๐Ÿ’ป

Wiki | (https://en.wikipedia.org/wiki/Unix_shell)

Wiki | (https://en.wikipedia.org/wiki/Thompson_shell)

Wiki | (https://en.wikipedia.org/wiki/Ken_Thompson)

Medium | (https://towardsdev.com/unix-shell-command-line-interpreter-in-a-nutshell-6bc91466a83f)

SLACK ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ | (https://slack.com/signin#/signin)

๐Ÿ†—โ˜ฎ๏ธ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ’•๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿณ๏ธโ€๐ŸŒˆ๐Ÿง‘โ€๐Ÿ’ป OKLAHOLBIES | (https://holbertontulsa.com/)

Authors ๐Ÿ“๐Ÿ“

Clint Hendrickson | (https://github.com/Maitreya-today)

Mason Counts | (https://github.com/spindouken)

holbertonschool-simple_shell's People

Contributors

spindouken avatar maitreya-today 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.