Skip to content
/ 42sh Public

Homemade Shell in C made as a end-of-first-year project at Epitech

License

Notifications You must be signed in to change notification settings

iMeaNz/42sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


42sh

A homemade shell

Table of Contents
  1. About The Project
  2. Getting Started

About The Project

This project is one of the tree first-year Epitech's final project. The goal is to recreate a Unix Shell.
This projects consists of two sections :

  • a mandatory section, which must be completed (see below).
  • an optional section, which is only evaluated if the mandatory section is fully functionnal.
    The reference shell for this project is TCSH.

Mandatory section

  • Spaces and tabulations ✅
  • $PATH and environnement handling ✅
  • Errors and return value ✅
  • Redirections ('<', '<<', '>' '<<') ✅
  • Pipes ('|')
  • Builtins functions : cd, echo, exit, setenv and unsetenv ✅
  • Separators (';', '&&', '||') ✅

Optional section

  • Inhibitors ('') ✅
  • Globbings ('*', '?', '[]' '{}') ✅
  • Job control ('&', fg) ✅
  • Backticks ('``') ✅
  • Parentheses ❌
  • Variables (local and env) ✅
  • Special variables (term, precmd, cwdcmd, ignoreof...) ❌
  • History ('!') ✅
  • Aliases ✅
  • Line edition (multiline, dynamic rebinding, auto-completion dynamic) ❌
  • Scripting ❌

Getting started

  1. Clone the repository
git clone git@github.com:iMeaNz/42sh.git
  1. Compile the program
make
  1. Run the program
./42sh

About

Homemade Shell in C made as a end-of-first-year project at Epitech

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published