Note : If you found this repo you should stop for a second and read this
Minishell is a project that aims to create a simple UNIX command-line shell. This project introduces students to the world of shells by implementing a mini version of bash.
- Parse and execute basic shell commands;
- Search & launch the right executable from absolute or relative path;
- Command history;
- Handle built-in commands (
cd,echo,pwd,export,unset,env,exit); - Support for pipes (
|) and redirections (<,>,>>,<<); - Environment variable
- export variables;
- unset variables;
- expand environment variables;
- Signal handling (
Ctrl-C,Ctrl-D,Ctrl-\\);
Clone the repository and cd into it:
git clone https://github.com/PedroZappa/42_minishell.git 42_minishellBuild the program:
cd 42_minishell
makeRun the program:
./minishellRun the following command and look at the Test Rules 🧪 & Debug Rules to get a comprehensive list of all available test/debug commands:
make helpNote
If you use tmux you are in for treat 😏
- Bash Reference Manual
- Writing your own shell
- Shell Command Language
- Exit Codes and Their Meanings - Discovery Cluster / Slurm - USC Advanced Research Computing
This work is published under the terms of 42 Unlicense.