Table of Contents
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.
- Spaces and tabulations ✅
- $PATH and environnement handling ✅
- Errors and return value ✅
- Redirections ('<', '<<', '>' '<<') ✅
- Pipes ('|')
- Builtins functions : cd, echo, exit, setenv and unsetenv ✅
- Separators (';', '&&', '||') ✅
- 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 ❌
- Clone the repository
git clone git@github.com:iMeaNz/42sh.git- Compile the program
make- Run the program
./42sh