This project is to create a simple shell. Concepts about processes and file descriptors are introduced.
This is a group project completed by T. Clement & J.B. Cornelisse
The following elements need to work like in bash
-
Show a
prompt
when waiting for a new command -
Search and launch the right
executable
(based on the$PATH
variable or by using relative or absolute path) -
Implement the below builtins:
echo
with option ’-n’cd
with only a relative or absolute pathpwd
without any optionsexport
without any optionsunset
without any optionsenv
without any options and any argumentsexit
without any options
-
Pipes
|
-
'
and"
except for multiline commands -
Redirections
<
>
>>
<<
except for file descriptor aggregation -
Environment variables
($ followed by characters) -
$?
to store exit status of the previous command -
ctrl-C
,ctrl-D
andctrl-\
Run the following commands
$ git clone https://github.com/DelicaTessa/42-minishell
$ cd 42-minishell
$ make
$ ./minishell