This project is about creating a simple shell. Yes, your own little bash. You will learn a lot about processes and file descriptors.
A minimal bash-like shell written in C, built as a pair project at 42 school with @natttttttttttttt.
Note
The actual team repository is natttttttttttttt/minishell — this is my personal copy.
- Interactive prompt with working history (readline)
- Command execution via
PATH, relative or absolute paths - Pipes (
|) - Redirections:
<,>,>>(append) and<<(heredoc) - Environment variable expansion (
$VAR,$?) - Single and double quote handling
- Signal handling (
ctrl-C,ctrl-D,ctrl-\)
| Command | Description |
|---|---|
echo |
With option -n |
cd |
With relative or absolute path |
pwd |
Print current working directory |
export |
Set environment variables |
unset |
Remove environment variables |
env |
Print the environment |
exit |
Exit the shell with a status |
make
./minishell- Lexing, tokenization, and parsing
- Processes:
fork,execve,wait - File descriptors, pipes, and redirections
- Signals and terminal behavior
- Environment management
