Minishell is a project aimed at creating a simple Unix shell. Through this project, you will gain a deeper understanding of processes, file descriptors, and other core system functionalities.
- Display a prompt and wait for user input.
- Maintain a working command history.
- Execute commands found in the system PATH or via relative/absolute paths.
- Handle single and double quotes to prevent the shell from interpreting metacharacters.
- Implement input/output redirections and pipes.
- Support for environment variable expansion and special variable
$?
. - Signal handling for
ctrl-C
,ctrl-D
, andctrl-\
. -
- Clone the repository:
git clone https://github.com/mbrettsc/minishell.git && cd minishell
-
- Build the project:
make
- Run the shell:
./minishell