Skip to content

FjjDessoyCaraballo/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minishell

Description

This project is meant to replicate some basic core parts of bash shell. In this minimal version one can execute commands with pipes and redirections.

Usage

  1. Initialize the program with ./minishell
  2. Utilize the shell as you would use a proper shell

Result

  • Status: Complete
  • Result: 100%

Contact

Felipe

Waleed

Bruno

Leo

Instructions for branching

ALWAYS remember to pull from main to have the latest version of minishell before continuing your work. At the same time, always remember to only push to main directory when the program is properly working. AVOID PUSHING FAULTY PROGRAM AT ALL COSTS!

1. git clone repo
2. git checkout -b 'BranchName'
3. git status
4. git add (files)
5. git commit -m "comment"
6. git pull origin main
7. git checkout main
8. git pull
9. git merge BranchName
10. git push
11. git checkout BranchName

Process of building the code

  1. Tokenization
    • convert input command line into a linked list
      • built-ins.
        • echo (with -n)
        • cd
        • pwd
        • export
        • unset
        • env
        • exit
      • commands.
      • arguments.
      • pipe.
      • Redirection Operators.
        • "<"
        • ">"
        • "<<"
        • ">>"
      • single and double quotes.
  2. single and multiple commands (pipes)
  3. Handle $?
  4. Environment variables ($ expands values)
  5. Signals
    • CTRL + C
    • CTRL + \
    • CTRL + D

About

This project aims to replicate bash shell

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •