Minishell
A lightweight shell that mimics basic bash behaviour: it reads a command line, runs programs, and wires them together with pipes and redirections.
View on GitHub →How it works
- 01
Each line is split into tokens and parsed into commands, pipes, and redirections, with environment variables expanded.
- 02
Every command runs in a child process (fork + execve); pipes connect their stdout and stdin.
- 03
Redirections rewire file descriptors with dup2 before the command starts.
- 04
Signal handling keeps Ctrl-C and Ctrl-\ behaving like a real shell.