Minishell is a project from 42 Network. The goal of this project is to create a simple shell, with basic functions.
- Clone the repository with
git clone https://github.com/iLucasPires/minishell
- Run
make
to compile the project - Run
./minishell
to start the shell
- Readline library
- C compiler (gcc or clang)
- Make
- The executable must not quit unexpectedly (Segmentation fault, bus error, double free, etc).
- The executable must respond to the following signals: Ctrl-C, Ctrl-\ and Ctrl-D.
- You must show a prompt when waiting for a new command.
- The prompt must be displayed again each time a command has been executed completely.
- You must correctly handle the PATH and the environment (by copying and restoring the initial envp).
- You must implement the following builtins: echo, cd, export, unset , env, exit, pwd.
- You must implement the following redirections: <, >, >>.
- You must implement the following pipes: |.
- You must implement the following logical operators: &&, ||.
- You must implement the wildcard: *.
- You must implement the syntax of quotes: ’ and ”.
- better error handling
- better performance
- better code documentation
- improve unit tests
- improve bonus part