Minishell is our minimalist bash shell implementation coded entirely in C.
- Command execution, redirections (
> >> << <), and pipes (|) - Environment & Local Variables
cd,echo,env,export,pwd,unset, andexit- Graceful Signal Handling:
Ctrl+C,Ctrl+\, andCtrl+D - Error Handling
- Robust Memory Management
-
SSH:
git clone git@github.com:dimadem/minishell.git minishell cd minishell sudo apt update sudo apt install libreadline-dev make ./minishell -
Valgrind output saved in valgrind_out.txt after:
ulimit -n 1024 # necessary once only, to address 'file descriptor too high' error make valgrind
-
Please see documentation for this project under https://dimadem.github.io/minishell/
-
The project uses an Abstract Syntax Tree (AST) to recursively enforce the correct order of execution for commands. This ensures proper parsing and execution logic, even for complex pipelines and redirections.
Full code map (functions boxed in red bifurcate beyond what is showin this map):

