42 project, recoding our own little bash. A program capable of parsing a prompt and launching executables with arguments, along with a few built-in functions.
Mandatory part : 100/100
Bonus : 0/15
Using make
will create the minishell
executable.
Simply run it with :
./minishell
Minishell runs executables from an absolute, relative or environment PATH (/bin/ls
or ls
), including arguments or options. '
and "
work the same as bash, except for multiline commands.
You can separate commands with ;
, as well as use redirections >
>>
<
and pipes |
.
Environment variables are handled, like $HOME
, including the return code $?
.
Finally, you can use Ctrl-C
to interrupt and Ctrl-\
to quit a program, as well as Ctrl-D
to throw an EOF, same as in bash.
A few of the functions are "built-in", meaning we don't call the executable, we re-coded them directly. It's the case for echo
, pwd
, cd
, env
, export
, unset
and exit
.
This two-person project was done with macrespo.
I was responsible for the parsing, argument checking, execution, redirection and piping.
Macrespo took care of the environment variables, built-in functions, and signal handling.