A minimal Unix shell implementation written in C as part of the 42 School curriculum. This project recreates essential shell behavior such as command execution, pipes, redirections, and environment variable handling.
To compile, run it in terminal
makethen run
./minishell- Custom interactive prompt using
readline - Execution of commands via
$PATHor absolute/relative paths - Built-in commands:
echo(with-n)cdpwdexportunsetenvexit
- Pipes (
|) - Redirections:
- Input
< - Output
> - Append
>> - Here-document
<<
- Input
- Environment variable expansion (
$VAR,$?) - Signal handling:
Ctrl-Cβ new promptCtrl-Dβ exit shellCtrl-\β ignored
echo hello world
ls -l | grep minishell
cat < infile > outfile
echo $HOME
echo $?Danny: lexing, parsing, memory management, environment variable management, exit status
Ping: pipe, redirection, command execution, signal handling, exit status