A miniature clone of bash.
- minishell can run executables from an absolute
/bin/ls
, relative../../../../../bin/ls
, or environment PATHls
with arguments. - Environment variables are also handled including the return code
$?
. - You can use redirections
> >> < <<
and pipes|
. - Builtins:
cd
,pwd
,echo
,export
,unset
,env
,exit
. - Single and double quotes work just like in bash, but not for multiline commands.
- Three signals are also handled just like in bash:
Ctrl-C
interrupts a running process or brings up a new prompt.Ctrl-\
quits from a running program and does nothing on the prompt.Ctrl-D
throws an EOF or exits minishell.
- Go into the root directory and run
make
.
cd minishell
make
- Run the executable created in the output folder.
cd output
./minishell
minishell was a two person project done with yabdelgh
I was responsible for reading input, the lexer, parser, environment variables, signal handling and command history.
While yabdelgh took care of command execution, pipes, redirections and signal handling inside child processes.